PHP プログラムの構文エラーにより
が発生する シナリオ 1:
プロジェクトがセットアップされるアラーム監視あり(Webサイトの固定リンクに10分おきに定期的にアクセス) 1日に2~3回500エラーのメールが届く時期がありましたが、再度手動でアクセスすると正常にアクセスできました。 .
これは最も一般的なエラーであり、文法エラーもすぐに再発する可能性があります。エラー メッセージが公開されている限り、問題はすぐに解決できます。ローカル環境やテスト環境の場合は、通常、プログラムの入り口に出力エラーメッセージを設定するだけです:
//error_reporting设置应该报告的错误,下面表示除了 E_NOTICE,报告其他所有错误 error_reporting(E_ALL ^ E_NOTICE); //输出错误 ini_set('display_errors', 1);
しかし、オンライン環境では、すべてのユーザーが使用しているため、では、明らかな印刷エラーがあった場合はどうすればよいでしょうか?プログラム エントリ ファイルのログ ファイルにエラー出力を設定できます。具体的なコードは次のとおりです:
error_reporting(E_ALL ^ E_NOTICE); //禁止把错误输出到页面 ini_set('display_errors', 0); //设置错误信息输出到文件 ini_set('log_errors', 1); //指定错误日志文件名 $error_dir = '/logs/err/'; $error_file = $error_dir . date('Ymd').'.log'; //目录不存在就创建 if (!is_dir($error_dir)){ mkdir($error_dir, 0777, true); } //文件不存在就创建之 if(!file_exists($error_file)){ $fp = fopen($error_file, 'w+'); if($fp){ fclose($fp); } } //设置错误输出文件 ini_set("error_log", $error_file); //程序正常执行逻辑......
先ほどのシナリオ 1 の問題は、後で同じプログラム エントリ ファイルでログに出力したときに発見されました。これは、mysql 接続が異常に切断され、プログラムが実行を継続したためです (mysql に接続するときは正常でしたが、特定のクエリ メソッドが呼び出されたときにエラーが報告されました。mysqli_real_escape_string メソッドが存在する場所にあったことを思い出してください) () を使用しました) により致命的なエラーが発生しましたが、最終的には正常に修復されました。
ディスクがいっぱいであるため、
シナリオ 2:
画像をアップロードできず、常にエラー 500 が報告されます。
ディスク容量不足やデータの読み書きに必要な容量不足が原因で発生する 500 エラーは、非常にまれであり、時間内に検出するのが困難です。通常、500 エラーが発生した場合、最初に思い浮かぶのはプログラム エラーです。実際には、ディスク容量不足が原因である可能性もあります。プログラムに問題が見つからない場合は、プログラム エラーが原因であるかどうかを確認できます。ディスク容量が不足しています。
df -h 查看磁盘空间占用情况
推奨チュートリアル: PHP ビデオ チュートリアル
以上がPHP Webサイトエラー500の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。