$php_errormsg

(PHP 4, PHP 5, PHP 7)

$php_errormsgLe dernier message d'erreur

Avertissement

Cette fonctionnalité est OBSOLÈTE à partir de PHP 7.2.0. Dépendre de cette fonctionnalité est fortement déconseillé.

Utilisez error_get_last() plutôt.

Description

$php_errormsg est une variable qui contient le texte de la dernière erreur générée par PHP. Cette variable sera uniquement accessible dans le même contexte d'exécution que celui de la ligne qui a généré l'erreur, et uniquement si la directive de configuration track_errors est activée (elle est désactivée par défaut).

Avertissement

Si un gestionnaire d'erreurs définit par l'utilisateur est actif (set_error_handler()), $php_errormsg ne sera définit que si le gestionnaire d'erreur retourne false.

Historique

Version Description
8.0.0 La directive track_errors qui cause $php_errormsg à être disponible à été supprimée.
7.2.0 La directive track_errors qui cause $php_errormsg à être disponible à été rendue obsolète.

Exemples

Exemple #1 Exemple avec $php_errormsg

<?php
@strpos();
echo
$php_errormsg;
?>

Résultat de l'exemple ci-dessus est similaire à :

Wrong parameter count for strpos()

Voir aussi

add a note add a note

User Contributed Notes 4 notes

up
13
quickshiftin at gmail dot com
11 years ago
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;
}
?>
up
6
ryan kulla
15 years ago
Note: This variable doesn't seem to get populated if you're running Xdebug.
up
1
josh at karmabunny dot com dot au
13 years ago
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);
?>
up
0
myuezhu at gmail dot com
7 years ago
$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
To Top