2010-12-27 30 views
1

私はhtaccessを通じてthis method経由でdisplay_errorsをオフに設定し、phpinfo()を実行するとそのように表示されます(display_errorsはローカル値とマスター値の列にありません)。さらに、テストスクリプトでecho ini_get('display_errors');を実行すると、0が返されます。しかしdisplay_errors(PHP)のオフに関する問題

、次のように私は私のスクリプトのいずれかでエラーをトリガ:代わりにログに書き込み、このスクリプトを実行するとき、私は、しかし、エラーを取得しない

trigger_error("An error", E_USER_WARNING); 

$foo = array(); 
$bar = $foo['does_not_exist']; 

エラーログに書き込むだけで、表示しないようにしたいと思います。どうしたんだ?

背景を追加:私はRackspace Cloudサイトのホスティングで、php iniを編集することはできませんが、基本的には.htaccessのphp_flagsですべての設定を行うことができます。

+1

設定をもう一度チェックしてください。それは「オン」です。 –

+0

Apacheサーバーを再起動しますか? –

+0

http://www.php.net/manual/en/function.set-error-handler.php – miqbal

答えて

0

は...私の一つは、私が動的に1に設定されているテストページにはdisplay_errorsの原因をして使用しなかった含まれていることを実感しました。 Shrapnel氏は懐疑的であるように書いていた(彼のコメントをアップした)

-1

まず、はdisplay_errorsは、それが実行時に上書き取得することができini_get('display_errors');

を使用してちょうどtrigger_error()前に、本当にオフになっていることを確認してください。

次に、恐らくtrigger_error()自体が問題です。通常はエラーを引き起こすようなことをしてください。例:

$foo = array(); 
$bar = $foo['does_not_exist']; 

ことが、この問題は間違いなくtrigger_error()であるよりも、期待通りに動作する場合。

代わりにerror_log()を使用してください。私の悪い

http://us2.php.net/manual/en/function.error-log.php

+1

trigger_error()自体は問題ではありません。 error_logはここでは何もしません。 –

+0

私はini_get( 'display_errors')を実行し、0を返しました。そして、あなたのスクリプトはエラーを返さない – babonk

+0

'ini_get( 'display_errors')'を行う最初のコメントは正しいことでした。それは正しいことなので投票しないでください。 – evan

関連する問題