ホームページ  >  記事  >  バックエンド開発  >  PHP プログラム アクセス レポート 500 エラー処理ソリューション

PHP プログラム アクセス レポート 500 エラー処理ソリューション

慕斯
慕斯転載
2021-06-28 11:24:524160ブラウズ

私たちは PHP についてたくさんのことを学びましたが、PHP の構文エラーを完全にマスターしたかどうかはわかりません。 PHP プログラム。はい、そうでない場合は、この記事に従って学習を続けてください。

PHP プログラム構文エラーが発生しました

##シナリオ 1: 私たちのプロジェクトはアラーム監視 (10 分ごとに Web サイト上の固定リンクへのアクセスをスケジュール設定) で設定されています。一時は 500 エラーを報告するメールを 1 日に 2 ~ 3 回受信することがありましたが、アクセスしたときは手動で再度実行すると、Access は正常です...

これは最も一般的なエラーであるはずで、構文エラーもすぐに再発する可能性があります。エラー メッセージが公開されている限り、問題はすぐに解決できます。

ローカルまたはテスト環境の場合、通常はこのように処理します。プログラムの入り口に出力エラー メッセージを設定するだけです:

//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を報告しています。以前は問題なく使えていたのですが、原因が分かりませんでした。当時、そのエリアの開発を担当していたので、会いに来ました。各種チェックを行ったところ、問題はありませんでした。その他ページは正常にアクセスできました。このページのコードをすべて削除しました。再度アップロードしてもエラーが発生します。長い間探した結果、ディスクがいっぱいであることがわかりましたo(╥﹏╥)o...

500 エラー メッセージは、ディスク領域の不足と、データの読み取りおよび書き込みに必要な領域の不足によって発生します。これはまれであり、時間内に検出するのが困難です。通常、500 エラーが発生した場合、最初にプログラムのエラーが思い浮かびますが、実際には、ディスク容量の不足が原因である可能性もあります。プログラムに問題が見つかった場合は、ディスク容量の不足が原因かどうかを確認できます。ディスク容量~

df -h
ディスク容量の使用状況を確認します
PHP プログラム アクセス レポート 500 エラー処理ソリューション

# http リクエスト、エラー ステータス コードは 500、通常の説明は次のとおりです。 は、サーバーでエラーが発生し、リクエストを完了できなかったことを意味します (つまり、内部サーバー エラー)

が、特定の問題は次のとおりです。詳細に分析する 推奨学習: 「

PHP ビデオ チュートリアル

以上がPHP プログラム アクセス レポート 500 エラー処理ソリューションの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。