ホームページ  >  記事  >  データベース  >  PHP エラーを MySQL データベースに直接記録できますか?

PHP エラーを MySQL データベースに直接記録できますか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-06 20:02:03698ブラウズ

Can PHP Errors be Directly Logged to a MySQL Database?

PHP エラーをデータベースに直接記録する

標準の error_log ファイルに依存する代わりに、すべてのエラーをデータベースに出力するように PHP を設定することは可能ですか? MySQLデータベース?

解決策

カスタム エラー ハンドラーを作成せずにこれを直接達成する方法はありませんが、単一のグローバルな変更を適用することができます。ユーザー定義のエラー ハンドラーの作成は、エラー メッセージをデータベースにリダイレクトする鍵となります。

コード例

以下は、PHP マニュアルの変更例です。

function myErrorHandler($errno, $errstr, $errfile, $errline)
{
    $connection = ...; // Establish connection with MySQL
    $query = "INSERT INTO error_log (number, string, file, line) ".
                 "VALUES ($errno, $errstr, $errfile, $errline)"; 
    $result = mysql_query($query, $connection);
    return true; // Suppress PHP's internal error handling
}

ユーザー定義のエラー ハンドラーを設定するには:

$old_error_handler = set_error_handler("myErrorHandler");

このカスタム エラー ハンドラーを実装すると、すべての PHP エラーが指定された MySQL データベースに自動的に記録され、一元化され、より整理されたエラー ハンドラーが提供されます。エラーを管理する方法。

以上がPHP エラーを MySQL データベースに直接記録できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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