2011-02-04 5 views
2

私が試した何を:私はさまざまな組み合わせでこれらを試してみたなぜPHPのerror_log()ステートメントがApacheのerror.logに送られるのですか?

php_value error_log /etc/httpd/logs/php_error.log 

php.iniの

log_errors = On 
error_log = /etc/httpd/logs/php_error.log 

httpd.confには、停止して起動HTTPDと、これらの設定することが確認phpinfo()で認識されますが、それでもすべてがApacheのerror.logファイルに移動します。

php error_log()の出力をhttpd error.logファイルとは別のファイルで取得するにはどうすればよいですか?

PHP 5.3.5
Serverバージョン:Apacheの/ 2.2.3

おかげ

+0

代わり/var/log/...に奇数をいくつかのフォルダ/ファイルを使用しますいずれかの作業。 SELinuxが無効になっていて、違いはありません。 php.iniの完全パスまたは相対パス。違いはありません。ファイルが存在し、Apacheによって書き込み可能であることを確認します。違いはありません。 –

答えて

2

...ファイルは、Webサーバーのユーザーによって書き込み可能でなければなりません...

出典:http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-log

は、例えば、ログディレクトリを変更してみてください/var/log/php/my_php_errors.log フォルダが存在することを確認してください:

mkdir /var/log/php/ 

/etc/...は、通常は、ロギングのためではありません使用されている多くは、私がこれを試して、私はそれをするために得ることができませんでしたとして、

+0

Doh、ファイルはApacheによって所有されていましたが、親ディレクトリは他のユーザーのための読み取りアクセスなしでrootによって所有されていました。/etcパスは単に/ var/log/httpdへのソフトリンクだったので、CentOSがデフォルトでどのように設定したのでしょうか。 – zimbu668

1

を使用すると、2つの異なるログ・パスを使用している理由はありますか?

error_log = /etc/httpd/logs/php_error.log 
php_value error_log /etc/php/logs/php_error.log 
         ^^^^ 

/etc/php/logsは存在しますか?

関連する問題