ホームページ  >  記事  >  バックエンド開発  >  PHP Webサイトエラー500の対処方法

PHP Webサイトエラー500の対処方法

王林
王林オリジナル
2019-09-29 17:47:594047ブラウズ

PHP Webサイトエラー500の対処方法

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 Webサイトエラー500の対処方法

推奨チュートリアル: PHP ビデオ チュートリアル

以上がPHP Webサイトエラー500の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。