date()-Fehler

Das Forum soll der Ablage von Lösungen für immer wieder auftauchende Problemstellungen dienen. // This forum contains solutions to problems that frequently occur.
Antworten
Benutzeravatar
dr.e.
Administrator
Beiträge: 4525
Registriert: 04.11.2007, 16:13:53

date()-Fehler

Beitrag von dr.e. » 13.11.2007, 22:39:26

In PHP 5 Umgebungen, in denen die php-.ini-Option

Code: Alles auswählen

date.timezone


kommt es zu folgendem Fehler:

date(): It is not safe to rely on the system's timezone settings. Please use the date.timezone setting, the TZ environment variable or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Berlin' for 'CET/1.0/no DST' instead


Weiterhin wird am Ende einer Seite ungefähr folgender Text angezeigt:

Fatal error: [filterFactory::getFilter()] Requested filter "pagecontrollerRewriteRequestFilter" cannot be loaded from namespace "core::filter"! in /var/www/html/adventure/apps/core/filter/filterFactory.php5 on line 81 Call Stack: 0.1889 1314308 1. flushLogger() /var/www/html/adventure/apps/core/logging/Logger.php:0 0.1892 1314308 2. Logger->flushLogBuffer() /var/www/html/adventure/apps/core/logging/Logger.php:21 0.1893 1314308 3. Logger->__getLogFileName(string(3)) /var/www/html/adventure/apps/core/logging/Logger.php:239 0.1893 1314308 4. date(string(5)) /var/www/html/adventure/apps/core/logging/Logger.php:280 0.1894 1315308 5. errorHandler(long, string(363), string(52), long, array(1)) /var/www/html/adventure/apps/core/errorhandler/errorHandler.php:0 0.1895 1315308 6. errorManager->raiseError(long, string(363), string(52), long) /var/www/html/adventure/apps/core/errorhandler/errorHandler.php:36 0.1902 1315856 7. errorManager->__buildErrorPage() /var/www/html/adventure/apps/core/errorhandler/errorHandler.php:112 0.1902 1315856 8. Page->Page(string(10), ???) /var/www/html/adventure/apps/core/errorhandler/errorHandler.php:175 0.1904 1315856 9. filterFactory::getFilter(string(12), string(34)) /var/www/html/adventure/apps/core/pagecontroller/pagecontroller.php5:882 0.1905 1316108 10. trigger_error(string(130), long) /var/www/html/adventure/apps/core/filter/filterFactory.php5:81


Abhilfe schafft das setzen der Standard-Zeitzonen-Direktive beispielsweise auf

Code: Alles auswählen

date.timezone = "Europe/Berlin"


Weitere Informationen dazu finden sich unter

- http://de2.php.net/manual/en/ref.datetime.php
- http://de2.php.net/manual/en/timezones.php
Viele Grüße,
Christian

ecomeback
Beiträge: 12
Registriert: 09.11.2007, 13:55:44
Wohnort: Hannover

Beitrag von ecomeback » 19.11.2007, 23:39:05

Vielleicht noch eine kleine Ergänzung.

Wer auf einem XAMPP testet findet die zu verändernde php.ini nicht unter xampp\php\php.ini sondern unter xampp\apache\bin\php.ini.

Zu setzen wäre hier dann zum Beispiel der Wert

Code: Alles auswählen

date.timezone = Europe/Berlin

zu setzen, ein evtl. ';' vor dieser Zeile ist zu entfernen.

Sollte jemand keinen Zugriff auf die php.ini haben, was zum Beispiel auf vielen shared Server so ist, kann sich mithilfe von

Code: Alles auswählen

<?php
date_default_timezone_set('Europe/Berlin');
?>

per PHP auch global behelfen.

Sollte das auch nicht zur Lösung führen, gibt es nicht mehr sehr viel, Error Reporting runtersetzen, Fehlerausgabe unterdrücken. Die beste und sinnvollste Möglichkeit ist wohl das Setzen in der php.ini.

Beste Grüße
Guido

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast