![]() |
[PHP] track_errors
Ich habe per .htaccess track_errors eingeschaltet:
Code:
, damit ich die Fehlermeldung mittels $php_errormsg ausgeben kann. Mit einem Testskript funktioniert es:
#PHP Settings
php_flag track_errors on
Code:
Es kommt die Fehlermeldung, dass die Datei nicht vorhanden ist.
<?php
echo "track_errors=".ini_get("track_errors")."\n"; echo "\$php_errormsg=".$php_errormsg."\n"; //@strpos(); @unlink(test.html); echo "\$php_errormsg=".$php_errormsg."\n"; ?> Im richtigen Code bleibt $php_errormsg leider leer:
Code:
Könnte mir da bitte jemand helfen, wie ich die Fehlermeldung ausgegeben bekomme?
function deleteFile($file) {
return @unlink($file); } //...; elseif ($action == 'delete') { if (deleteFile($filename)) { $h2 = "Datei erfolgreich gelöscht"; $text = "Die Datei <i>".$filename."</i> wurde erfolgreich gelöscht."; htmlOutput($h2, $text); } else { //echo "track_errors=".ini_get("track_errors")."\n"; $h2 = "Fehler beim Löschen der Datei"; $text = "Die Datei <i>".$filename."</i> konnte nicht gelöscht werden.<br>".$php_errormsg; htmlOutput($h2, $text); } } ini_get("track_errors") liefert übrigens eins. |
AW: [PHP] track_errors
Oder kann es sein, dass der Inhalt der Variable wieder zurückgesetzt wird vor der Ausgabe, weil zwischen zeitlich ein (interner) Funktionsaufruf erfolgreich war?
|
AW: [PHP] track_errors
Ich weiß nicht, ob das nur mir so geht, aber ich finde diese $php_errormsg-Methode nicht wirklich elegant. Vielleicht hilft dir ja
![]() |
AW: [PHP] track_errors
Scheint wie vermutet zu sein. So funktioniert es:
PHP-Quellcode:
Und $errorMsg kann ich dann später ausgeben.
function deleteFile($file) {
global $errorMsg; $ret = @unlink($file); $errorMsg = $php_errormsg; return $ret; } |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:37 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz