Ist das ein php bug, oder stimmt etwas nicht mit meiner Zeitzone/PHP Einstellungen?

Den realen, vollständigen Inhalt der Datei:

<?php

error_reporting(E_ALL);
ini_set(display_errors, 'on');

try {

    //$x = strtotime('blah');
    $x = new DateTime('lol');

} catch ( Exception $e ) {
        echo $e->getMessage();
}

Dem DateTime-Konstruktor akzeptiert einen string, der sollte eine exception werfen, wenn es nicht analysiert. Diese läuft problemlos auf meiner lokalen Maschine, sondern auf meinem remote-Server, die Ausnahme nicht gefangen ( und wieder, ich bin Verwendung von try/catch und der EXAKT GLEICHE code ):

Fatal error: Uncaught exception
'Exception' with message
'DateTime::__construct() [function.DateTime - ---construct]:
Failed to parse time string (lol) an
position 0 (l): Die Zeitzone konnte nicht
in der Datenbank' in
/var/www/html/site_com/rez/Datum.php:9
Stack trace: #0
/var/www/html/site_com/rez/date.php(9):
DateTime->__construct('lol') #1 {main}
geworfen in
/var/www/html/site_com/rez/date.php auf
Zeile 9

Einstellungen für die remote-server, wo die exception wird nicht abgefangen:

PHP Version 5.2.5

Datum date/time support enabled
"Olson" Timezone Database Version
2007.9 Zeitzone-Datenbank interne Standard-Zeitzone America/Chicago

Directive Local Value Master Value
Datum.default_latitude 31.7667 31.7667
Datum.default_longitude 35.2333 35.2333
Datum.sunrise_zenith 90.583333 90.583333
Datum.sunset_zenith 90.583333 90.583333
Datum.timezone kein Wert kein Wert

Meine lokale Einstellungen wo es funktioniert:

PHP 5.2.10

Datum date/time support enabled
"Olson" Timezone Database Version
0.system-Zeitzone-Datenbank interne Standard-Zeitzone-System/Localtime

Directive Local Value Master Value
Datum.default_latitude 31.7667 31.7667
Datum.default_longitude 35.2333 35.2333
Datum.sunrise_zenith 90.583333 90.583333
Datum.sunset_zenith 90.583333 90.583333
Datum.timezone kein Wert kein Wert

Lokal, es fängt die Ausnahme ab und gibt die Fehlermeldung aus. Die date.timezone auf beiden ist kein Wert.

Vielleicht ist es nur meine interne system der Zeitzonen, die ausgeschaltet sind? Meine lokale Kiste ist Ubuntu und meine Fernbedienung ist CentOS, Sie sind wahrscheinlich inkonsistent, aber nicht die PHP noch die Ausnahme abfangen?

Zur info ich kann nicht updaten, PHP auf der remote-box, da ich keine admin-Rechte.

Schreibe einen Kommentar