ホームページ バックエンド開発 PHPの問題 php が独自のメソッドを呼び出すときにエラー 500 を報告する

php が独自のメソッドを呼び出すときにエラー 500 を報告する

Sep 17, 2019 am 11:44 AM
php

http リクエスト エラー ステータス コード 500 の通常の説明は、サーバーでエラーが発生し、リクエストを完了できなかったこと (つまり、サーバーの内部エラー) を意味しますが、特定の問題を詳細に分析する必要があります。

php が独自のメソッドを呼び出すときにエラー 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 サイトの他の関連記事を参照してください。

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

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

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

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

CakePHP の日付と時刻

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

CakePHP プロジェクトの構成

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

CakePHP ファイルのアップロード

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

CakePHP ルーティング

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP について話し合う

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

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

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP クイックガイド

See all articles