This worked for me https://stackoverflow.com/questions/9330558/php-how-to-log-fatal-errors
Nov 20, 2020
3
Level 75
PHP log fatal errors
In a custom framework I ran across a problem, in short I am trying to log fatal errors.
An example I forget to comment out a line:
use Mini\Helpers\Yidas\widgets\PageOptions; // this line
use Mini\Helpers\Yidas\widgets\Pagination as Yidas;
use Mini\Helpers\Cpager\Pager;
use Mini\Helpers\Cpager\PageOptions;
And this error wasn't logged in my error handler but in apache log:
PHP Fatal error: Cannot use Mini\Helpers\Cpager\PageOptions as PageOptions because the name is already in use in C:\BitNami\wampstack-7.4.7-0\apache2\mini4up\application\view\dog\indexadmin.php on line 5, referer: http://localhost/mini4/admin/login
However if I do something like:
use Mini\Helpers\Cpager\Pagerz; // bogus name
It's logged correctly.
I use the examples from php manual, I do have:
set_exception_handler('Mini\Core\Logger::ExceptionHandler');
set_error_handler('Mini\Core\Logger::ErrorHandler');
And in logger:
public static function exceptionHandler(Throwable $e)
{
self::newThrowMessage($e);
}
//// and
public static function errorHandler($severity, $message, $file, $line)
{
if (!(error_reporting() & $severity)) {
// This error code is not included in error_reporting
return;
}
throw new ErrorException($message, 0, $severity, $file, $line);
}
// right from php manual.
It works except for the fatal error. Anyone know how to tweak it to log fatal also?
Level 61
1 like
Please or to participate in this conversation.