PHP ini ファイル ( php.ini
) を確認したところ、display_errors
が設定されており、エラー報告も ですE_ALL
。Apache Web サーバーを再起動しました。
これらの行をスクリプトの先頭に置いたのですが、単純な解析エラーさえも検出されません。たとえば、変数を で宣言し"$"
、ステートメントを閉じていません。しかし、すべてのスクリプトでこれらのエラーが発生すると空白ページが表示されますが、ブラウザ出力で実際にエラー";"
を確認したいのです。
error_reporting(E_ALL);
ini_set('display_errors', 1);
やるべきことは何がありますか?
ベストアンサー1
開発環境
これは私にとって常に有効です:
ini_set('display_errors', '1');
ini_set('display_startup_errors', '1');
error_reporting(E_ALL);
ただし、これによって PHP が同じファイル内で発生した解析エラーを表示するわけではありません。また、これらの設定は PHP によって上書きされる可能性があります。このような場合、これらのエラーを表示する唯一の方法は、次の行を使用して php.ini (または php-fpm.conf) を変更することです。
display_errors = on
( にアクセスできない場合はphp.ini
、次の行を挿入して.htaccess
も機能する可能性があります)。
php_flag display_errors 1
PROD環境
上記の推奨事項はDEV環境にのみ適していることに注意してください。ライブサイトでは、
display_errors = off
log_errors = on
そして、エラーログですべてのエラーを確認できるようになります。PHPエラーログの場所
AJAX呼び出し
AJAX 呼び出しの場合、DEV サーバーで DevTools (F12) を開き、[ネットワーク] タブをクリックします。次に、結果を確認したいリクエストを開始すると、[ネットワーク] タブに表示されます。それをクリックし、[応答] タブをクリックします。そこで正確な出力が表示されます。
ライブ サーバー上では、エラー ログを同様に確認してください。