вы можете использовать set_error_handler
для перехвата ошибок PHP и использовать Zend_Log, чтобы регистрировать их, как вам угодно.
Единственная проблема с этой функцией - она не перехватывает все ошибки PHP, невозможно отлавливать такие ошибки, как синтаксические ошибки ....
Другой способ - использовать функцию register_shutdown_function
как это:
error_reporting(E_ALL);
ini_set('display_errors', 0);
function shutdown(){
$isError = false;
if ($error = error_get_last()){
switch($error['type']){
case E_ERROR:
case E_CORE_ERROR:
case E_COMPILE_ERROR:
case E_USER_ERROR:
$isError = true;
break;
}
}
if ($isError){
echo "Script execution halted ({$error['message']})";
} else {
echo "Script completed";
}
}
register_shutdown_function('shutdown');
Стоит отметить, что даже если объединить оба метода, он не будет перехватывать все ошибки, например, ошибки синтаксиса ... Но вы можете увидеть такие ошибки, используя обычный браузер.