$php_errormsg
(PHP 4, PHP 5)
$php_errormsg — The previous error message
Description
$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).
Warning
If a user defined error handler (set_error_handler())
is set $php_errormsg is only set if the error handler
returns FALSE
.
Examples
Example #1 $php_errormsg example
<?php
@strpos();
echo $php_errormsg;
?>
The above example will output something similar to:
Wrong parameter count for strpos()
- Функция Суперглобальные переменные() - Суперглобальные переменные - это встроенные переменные, которые всегда доступны во всех областях видимости
- Функция $GLOBALS() - Ссылки на все переменные глобальной области видимости
- Функция $_SERVER() - Информация о сервере и среде исполнения
- Функция $_GET() - GET-переменные HTTP
- Функция $_POST() - HTTP POST variables
- Функция $_FILES() - Переменные файлов, загруженных по HTTP
- Функция $_REQUEST() - Переменные HTTP-запроса
- Функция $_SESSION() - Переменные сессии
- Функция $_ENV() - Переменные окружения
- Функция $_COOKIE() - HTTP Куки
- Функция $php_errormsg() - Предыдущее сообщение об ошибке
- Функция $HTTP_RAW_POST_DATA() - Необработанные POST-данные
- Функция $http_response_header() - Заголовки ответов HTTP
- Функция $argc() - Количество аргументов переданных скрипту
- Функция $argv() - Массив переданных скрипту аргументов
Коментарии
Note: This variable doesn't seem to get populated if you're running Xdebug.
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);
?>
While $php_errormsg is a global, it is not a superglobal.
You'll have to qualify it with a global keyword inside a function.
<?php
function checkErrormsg()
{
global $php_errormsg;
@strpos();
return $php_errormsg;
}
?>
$php_errormsg does not contain the error message generated inside a function. See the example below:
<?php
@strpos();
function checkErrormsg()
{
global $php_errormsg;
echo "First Error is: $php_errormsg <br />";
@ini_set();
echo "Error is: $php_errormsg";
}
checkErrormsg();
?>
This will output:
First Error is: strpos() expects at least 2 parameters, 0 given
Error is: strpos() expects at least 2 parameters, 0 given