В предыдущем билете я asked about logging PHP errors in MySQL, который дает мне:PHP error_log ошибки в MySQL
function myErrorHandler($errno, $errstr, $errfile, $errline)
{
// mysql connect etc here...
$sql = "INSERT INTO `error_log` SET
`number` = ".mysql_real_escape_string($errno).",
`string` = ".mysql_real_escape_string($errstr).",
`file` = ".mysql_real_escape_string($errfile).",
`line` = ".mysql_real_escape_string($errline);
mysql_query($sql);
// Don't execute PHP internal error handler
return true;
}
// set to the user defined error handler
$new_error_handler = set_error_handler("myErrorHandler");
я могу сделать эту работу, но только если он triggerred так:
trigger_error("message here");
Однако, я также хотите, чтобы обработчик ошибок вызывался для всех ошибок, таких как синтаксические ошибки, такие как:
echo "foo;
Но эти ошибки являются просто выведенный на экран, что я делаю неправильно?
Могу ли я спросить, почему вы хотите регистрировать такие ошибки? – Chris
Вы не можете обрабатывать неустранимые фатальные ошибки с помощью обработчика ошибок php (а синтаксическая ошибка - неустранимая фатальная ошибка). Это просто невозможно. – ircmaxell
Я хотел получить любую ошибку в моей системе, не требуя каких-либо изменений. В настоящий момент синтаксическая ошибка будет означать, что в настоящее время ничего не сообщается – robjmills