8

標準の error_log ファイルではなく、すべての PHP エラーを MySQL に書き込むことは可能ですか。独自のエラーハンドラーをゼロから作成した場合、これは可能だと思いますが、多くのレガシーコードが配置されているため、理想的にはグローバルな変更を 1 つだけ行うだけで済みます。これはできますか?

4

2 に答える 2

21

独自のエラー ハンドラーを作成しないと実行できないと思いますが、技術的には、それが探しているグローバルな変更の 1 つです。

マニュアルからの変更例:

function myErrorHandler($errno, $errstr, $errfile, $errline)
{
     // you'd have to import or set up the connection here 
     mysql_query("INSERT INTO error_log (number, string, file, line) ".
                 "VALUES .....");         

    /* Don't execute PHP internal error handler */
    return true;
}

それから

// set to the user defined error handler
$old_error_handler = set_error_handler("myErrorHandler");
于 2010-05-26T08:11:26.100 に答える
2

php 関数set_error_handlerが探していることを実行する可能性があるようです。最初の例では、いくつかの mysql 挿入を追加して、エラーをデータベースに書き込むことができます。

http://www.php.net/manual/en/function.set-error-handler.php

于 2010-05-26T08:11:18.837 に答える