zur « Themenübersicht Dit&Dat

Diverses - Sparte

Eingetragen / aktualisiert am 24.02.2013

Konnte man vor PHP 5 einfach mit time() einen Zeitstempel oder mit date() ein Datum setzen, hagelt es nun ab PHP 5.1 mit

Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function

eine fette Fehlermeldung und das Script funktioniert nicht mehr.

Das Datum ermittelt man nun so:


date_default_timezone_set('Europe/Berlin');
echo "

heutiges Datum: " . date("d.m.Y") . "

";
?>

 

Ebenso, wenn man einen Unix-Zeitstempel mit time() benötigt.
Leider scheint das ab PHP 5.4 auch nicht mehr zu funktionieren. Hier muss man wohl dem Server direkt sagen, in welcher Zeitzone er sich befindet.
Ich empfinde es als unverschämtheit, dass Provider ihre php.ini nicht entsprechend anpassen!
Zmindest kann man bei 1&1 auch als normaler Kunde eine php.ini hoch laden.

Tipp:

Erstellt eine Datei mit dem Namen php.ini, fügt darin folgenden Code ein:

date.timezone = 'Europe/Berlin' >

...und ladet die in das Verzeichnis, wo euer Script arbeiten soll, dann sollten Probleme mit time() und date() ein Ende haben.

Warum die Provider den entsprechenden Eintrag nicht gleich in der php.ini vornehmen, erschließt sich mir nicht :-o

 

Problem mit time und date69timezone settings