Frage

Auf meinem XAMPP / Win XP bauen, nicht PHP5.2.3 alle Ausnahmen zu fangen. Keiner der Beispiele Arbeit, und diese:

try {
    throw new Exception('Fail');
} catch (Exception $e) {
    echo 'Succeed';
}

... Ergebnisse in:

  

Fatal error : abgefangene Ausnahme   ‚Exception‘ mit der Meldung ‚nicht bestanden‘ in   M: \ path \ to \ test.php: 4-Stack trace: # 0   {Main} in M geworfen: \ path \ to \ test.php   on line 4

Alle PHP-Fehler-Einstellungen scheinen Standard. Server ist Apache / 2.2.4

War es hilfreich?

Lösung

Dies ist abhängig von eAccelerator ist in XAMPP bauen. An einem Punkt hatte es Probleme zu optimieren try / catch-Anweisungen und sie einfach ignoriert.

Das Problem war in 0.9.5. XAMPP derzeit gebündelt mit eAccelerator 0.9.5.3, obwohl es standardmäßig deaktiviert ist. So könnte dies nicht Ihr Problem sein.

Nach dem ChangeLog hat XAMPP nicht verwendet PHP 5.2. 2.2.4 3 und Apache in einer langen Zeit, die auch um die Zeit des eAccelerator Bug. Ich empfehle Ihre eAccelerator Version überprüft und möglicherweise XAMPP aktualisieren.

Andere Tipps

I „Succeed“ erhalten als Ausgabe das Skript ausgeführt wird, sowohl Standalone auf der Kommandozeile und über Apache auf einem Webserver sowie in xampplite.  Weiß nicht, was aus Ihrem Setup anders

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top