0

ms sql dbに接続し、いくつかの挿入/更新を実行するphpページ/スクリプトを作成しました。エラーが発生する可能性があるので、ファイルに記録したいと思います。

ロギング機能の現在のバージョンは次のとおりです。

function logMsSqlError($fileStream){
        fwrite($fileStream, "Error: ".mssql_get_last_message()."\n");
        fwrite($fileStream,urldecode(http_build_query( error_get_last()))."\n" );
}

そしてそれは次のように使用されます:

 $res = mssql_query($q, $dbhandle);
        if(!$res) {
                logMsSqlError($fh);
                fclose($fh);
                die("query failed");
        }

問題は、エラーが発生したときにWebページに多くの有用な情報が表示されることです。

"Warning: mssql_query(): message: The INSERT statement conflicted with the FOREIGN KEY constraint "FK_Test1". 

The conflict occurred in database "testDb", table "dbo.testTable", column 'TestColumn'. (severity 16) in /var/www/html/sms/utilities.php on line 31 

Warning: mssql_query(): General SQL Server error: Check messages from the SQL Server (severity 16) in /var/www/html/sms/utilities.php on line 31 

Warning: mssql_query(): Query failed in /var/www/html/sms/utilities.php on line 31"

ログファイルにある間、私はこれらすべての詳細をキャッチすることができません。今私は得る:

Error: The statement has been terminated.
type=2&message=mssql_query(): Query failed&file=/var/www/html/sms/utilities.php&line=31

ログファイルのブラウザエラーにある詳細を取得するにはどうすればよいですか?(Webページの詳細はどこから来ていますか?)

4

1 に答える 1

1

いくつかのオプションがあります。php.iniでオンにするかlog_errorsset_error_handler関数を使用して、独自のロギングシステムをPHPエラーハンドラーと統合することができます。

于 2012-08-03T11:39:47.390 に答える