PHP Australia Conference 2015

$php_errormsg

(PHP 4, PHP 5)

$php_errormsgDie vorangegangene Fehlermeldung

Beschreibung

$php_errormsg ist eine Variable, die den Text der letzten von PHP generierten Fehlermeldung enthält. Die Variable ist nur innerhalb des Gültigkeitsbereichs (Scopes) verfügbar, in dem der Fehler auftrat, und auch nur, wenn die Konfigurationsoption track_errors eingeschaltet wurde (standardmäßig aus).

Hinweis: Die Variable ist nur verfügbar, wenn track_errors in der php.ini eingeschaltet wurde.

Warnung

Wird ein benutzerdefinierter Errorhandler (set_error_handler()) verwendet, wird $php_errormsg nur dann gesetzt, wenn der Errorhandler FALSE zurückgibt.

Beispiele

Beispiel #1 $php_errormsg-Beispiel

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

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Wrong parameter count for strpos()

add a note add a note

User Contributed Notes 3 notes

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