ホームページ >データベース >mysql チュートリアル >PHP エラーを error_log ファイルではなく MySQL データベースに記録するにはどうすればよいですか?

PHP エラーを error_log ファイルではなく MySQL データベースに記録するにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-06 06:35:021002ブラウズ

How can I log PHP errors to a MySQL database instead of the error_log file?

Error_Log を変更せずに PHP エラーをデータベースに出力する

デフォルトでは、PHP エラーは標準の error_log ファイルに記録されます。これらのエラーを MySQL データベースに送信するには、カスタム エラー ハンドラーの使用を検討してください。

この解決策を実装するには、エラーの詳細を処理してデータベースに書き込むカスタム エラー ハンドラー関数を作成します。例:

function myErrorHandler($errno, $errstr, $errfile, $errline)
{
    // Establish a database connection or utilize an existing one
    
    // Prepare and execute an SQL query to insert the error details
    mysql_query("INSERT INTO error_log (number, string, file, line) ".
                 "VALUES .....");         
    
    // Prevent execution of the default PHP error handler
    return true;
}

これに続いて、ユーザー定義のエラー ハンドラーをグローバル エラー ハンドラーとして設定できます:

// Disable the default error handler
$old_error_handler = set_error_handler("myErrorHandler");

このカスタム エラー ハンドラーを配置すると、すべての PHP エラーが発生します。 error_log ファイルではなく、指定された MySQL データベースに転送されます。

以上がPHP エラーを error_log ファイルではなく MySQL データベースに記録するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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