dedlfix: Perl-"or die $!" in PHP?

Beitrag lesen

echo $begrüßung;

Ich will vernünftige Fehlermeldungen bekommen.
Beispielseweise gibt diese Zeile...

$filehandle = fopen($dir . DIRECTORY_SEPARATOR . $file, 'r') or die ("Fehler beim Öffnen der Datei!");


>   
> ...die "or die"-Meldung aus, aber ich möchte wissen wieso das File geöffnet werden konnte, also die Systemmeldung.  
  
Wenn du als Programmierer das wissen möchtest, warum erzählst du es dann dem Anwender?  
  

> > Und wie sieht es mit [error_reporting()](http://www.php.net/manual/de/function.error-reporting.php) aus?  
>   
> Gut, das kannte ich noch nicht. Hilft mir aber in diesem Fall nicht weiter, obwohl ich jetzt mal error\_reporting(E\_ALL); setzte. Soll aber laut Angabe ohnehin der php.ini-Standardeinstellung entsprechen.  
  
Nur wenn man die recommended-Version der php.ini nimmt. Da muss man allerdings display\_errors einschalten, wenn man wirklich Fehlermeldungen in der normalen Ausgabe haben möchte (in der Entwicklungsumgebung beispielsweise). Ansonsten ist das error\_reporting auf E\_ALL abzüglich E\_NOTICE eingestellt.  
  
Ob du vernünftige Meldungen bekommst oder nicht hängt ja von deinem Verständnis von vernünftig ab :-) PHP stellt die Meldungen in der Variable [$php_errormsg](http://www.php.net/manual/en/reserved.variables.phperrormsg.php) zur Verfügung, wenn [track_errors](http://www.php.net/manual/en/errorfunc.configuration.php#ini.track-errors) eingeschaltet ist. Ansonsten wirft es sie nur an die Front, wenn die anderen dir nun bekannten Konfigurationsparameter entsprechend gesetzt sind.  
  
Weitere Informationen im Kapitel [Error Handling and Logging](http://www.php.net/manual/en/book.errorfunc.php).  
  
  
echo "$verabschiedung $name";