11

私は WAMP を使用しており、私の php.ini ファイルには次のものがあります。

error_log = "d:/php_error.log"

そのファイルを開くと、次のように表示されます。

[26-Jun-2013 05:35:57 UTC] PHP Warning:  Division by zero in D:\....

[26-Jun-2013 05:35:57 UTC] PHP Stack trace:

[26-Jun-2013 05:35:57 UTC] PHP   1. {main}() D:\....

[26-Jun-2013 05:35:57 UTC] PHP   2. Zend_Application->run()...

etc

問題は、余分なキャリッジ リターンがあることです。つまり、私はむしろこれを期待しています:

[26-Jun-2013 05:35:57 UTC] PHP Warning:  Division by zero in D:\....
[26-Jun-2013 05:35:57 UTC] PHP Stack trace:
[26-Jun-2013 05:35:57 UTC] PHP   1. {main}() D:\....
[26-Jun-2013 05:35:57 UTC] PHP   2. Zend_Application->run()...
etc

何が原因でしょうか?

アップデート

「error_append_string」と「error_prepend_string」を「」に変更しました。私もチェックしましたが、行の後のエントリは次のとおりです。

 [LINE]CR
 CRLF
 [LINE]CR
 etc

つまり、改行記号と改行記号...

4

3 に答える 3

3

これは、syslog の混乱に関係している可能性があります。そのため、 PHP は を追加し、次に Windows の syslog が入り、リクエストを処理するときにCR余分なものを追加します。CRLFlog "line\n"

ユーザーが他のオペレーティング システムで新しい行と error_log に関する他の問題を抱えていた、これらの関連する質問を参照してください。

Mac OSXで改行をリテラル「\ n」文字列として出力するPHP error_log

PHP エラー ログと改行文字

特に、これは、Apache を実行するユーザーがファイルへの書き込み権限を持っていない場合、またはerror_logphp.ini のディレクティブが設定されていない (または として定義されているsyslog) 場合に発生する可能性があります。詳細はこちら: http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-log

ログ ファイル自体については、777 パーミッションを与えるか、システムに作成させる代わりに自分でファイルを作成する (またはその逆) ことで実験してみてください。一部のユーザーは、これらの調整ごとに異なる問題/解決策を報告しています。

于 2013-07-05T03:08:59.960 に答える
2

error_prepend_stringと を設定しないでくださいerror_append_string。むしろ、それらをコメント化して完全に無効にします(;):

;error_prepend_string 

;error_append_string
于 2013-06-28T08:45:04.490 に答える
1

の値を確認したい場合があります。

error_prepend_string 

error_append_string

あなたの.iniファイルに。

于 2013-06-26T05:45:36.070 に答える