php が独自のメソッドを呼び出すときにエラー 500 を報告する
Sep 17, 2019 am 11:44 AMhttp リクエスト エラー ステータス コード 500 の通常の説明は、サーバーでエラーが発生し、リクエストを完了できなかったこと (つまり、サーバーの内部エラー) を意味しますが、特定の問題を詳細に分析する必要があります。
PHP プログラムの構文エラーが原因で
シナリオ 1: プロジェクトにはアラーム監視が設定されています (10 ごとにスケジュールされています)分 Web サイトの固定リンクにアクセスしてください) 1 日に 2 ~ 3 回、500 エラーを報告するメールが届くことがありましたが、再度手動でアクセスすると正常にアクセスされました... (推奨学習: PHP プログラミングの入門から熟練度まで )
これは最も一般的なエラーであり、文法エラーもすぐに再発する可能性があります。エラー メッセージが公開されている限り、問題はすぐに解決できます。
ローカル環境やテスト環境の場合、通常は次のように処理します。プログラムの入り口に出力エラー メッセージを設定するだけです:
//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 メソッドが存在する場所にあったことを思い出してください) () を使用しました) により致命的なエラーが発生しましたが、最終的には正常に修復されました。
以上がphp が独自のメソッドを呼び出すときにエラー 500 を報告するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法
