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 4, PHP 5, PHP 7)
$php_errormsg — Önceki hata iletisi
Bu özelliğin kullanımı PHP 7.2.0 itibariyle ÖNERİLMEMEKTEDİR. Bu işleve kesinlikle güvenilmemelidir.
Bunun yerine error_get_last() işlevini kullanın.
$php_errormsg PHP tarafından üretilen son hata iletisinin metnini içeren bir değişkendir. Bu değişken sadece hatanın oluştuğu alan içinde ve sadece track_errors ayar seçeneği açıldıysa (öntanımlı değeri kapalıdır) geçerlidir.
Eğer kullanıcı tanımlı bir hata işleyici
(set_error_handler()) atanmışsa
$php_errormsg değişkenine sadece hata işleyici false
döndürürse bir değer atanır.
Sürüm: | Açıklama |
---|---|
8.0.0 | $php_errormsg'nin kullanımına sebep olan track_errors kaldırıldı. |
7.2.0 | $php_errormsg'nin kullanımına sebep olan track_errors kullanımdan kaldırıldı. |
Örnek 1 - $php_errormsg örneği
<?php
@strpos();
echo $php_errormsg;
?>
Yukarıdaki örnek şuna benzer bir çıktı üretir:
Wrong parameter count for strpos()
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;
}
?>
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);
?>
$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