The track_errors parameter is PHP_INI_ALL, so you can use code like this:
<?php
ini_set('track_errors', 1);
$result = @do_risky_thing();
if (! $result) {
echo '<p>Error' . htmlspecialchars($php_errormsg) . '</p>';
}
ini_set('track_errors', 0);
?>
$php_errormsg
(PHP 4, PHP 5)
$php_errormsg — The previous error message
설명
$php_errormsg is a variable containing the text of the last error message generated by PHP. This variable will only be available within the scope in which the error occurred, and only if the track_errors configuration option is turned on (it defaults to off).
Note: This variable is only available when track_errors is enabled in php.ini.
Warning
If a user defined error handler (set_error_handler()) is set $php_errormsg is only set if the error handler returns FALSE
예제
Example #1 $php_errormsg example
<?php
@strpos();
echo $php_errormsg;
?>
위 예제의 출력 예시:
Wrong parameter count for strpos()
josh at karmabunny dot com dot au
04-Jul-2011 02:41
ryan kulla
19-Jan-2009 12:32
Note: This variable doesn't seem to get populated if you're running Xdebug.
