PHP 5.1+ und neues Zeithandling
PHP 5.1+ und neues Zeithandling
am 18.08.2006 12:01:10 von Ulf Kadner
Moin!
Ich bin gerad etwas verwirrt.
1. Weil ich bisher übersehen hab, das in PHP5.1 neues Zeit-Handling
eingeführt wurden
2. Das mktime jetzt generell eine NOTICE sendet wenn ichs nutze.
Ist ja so das mktime() in den meisten PHP-Scripts seine Anwendung
findet, bzw. bisher gefunden hat.
Plötzlich folgende Notice:
mktime(): 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. We selected 'Europe/Paris' for
'2.0/DST' instead
OK, hab ich also nen
date_default_timezone_set('Europe/Berlin');
an den Scriptanfang geschrieben.
Neue Notice danach:
mktime(): You should be using the time() function instead
Was geht in den Köpfen der PHP-Entwickler denn da ab?
Soll ich jetzt alles was ich vor 5.1 veröffentlicht habe wieder
umschreiben? mktime() => time()
Ich bin da jetzt nen bischen baff.
Was sagt Ihr dazu?
MfG, Ulf
Re: PHP 5.1+ und neues Zeithandling
am 18.08.2006 12:12:52 von Frank Schenk
Ulf Kadner wrote:
> Moin!
>=20
> Ich bin gerad etwas verwirrt.
>=20
> Neue Notice danach:
> mktime(): You should be using the time() function instead
Rufst du mktime() ohne Parameter auf?
http://www.symfony-project.com/trac/ticket/109
mktime() function seems to be revised in 5.1 but it's not deprecated.=20
The problem is getting the timestamp with a parameterless call to=20
mktime() instead of time() function. And it seems that phpguys added a=20
new strict standard to discourage this usage.
Falls du mktime() ohne Parameter aufrufst verstehe ich die Meldung,=20
statt mktime() schreibt man ja auch time() - auch wenn bei mktime() alle =
Parameter optional sind.
Wie in dem Zitat genannt - die arbeiten wohl fleissig an strict :)
gruß, Frank
Re: PHP 5.1+ und neues Zeithandling
am 18.08.2006 12:15:34 von Matthias Coy
Ulf Kadner schrieb:
> Moin!
>
> Ich bin gerad etwas verwirrt.
>
> 1. Weil ich bisher übersehen hab, das in PHP5.1 neues Zeit-Handling
> eingeführt wurden
> 2. Das mktime jetzt generell eine NOTICE sendet wenn ichs nutze.
>
> Ist ja so das mktime() in den meisten PHP-Scripts seine Anwendung
> findet, bzw. bisher gefunden hat.
>
> Plötzlich folgende Notice:
> mktime(): 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. We selected 'Europe/Paris' for
> '2.0/DST' instead
>
> OK, hab ich also nen
> date_default_timezone_set('Europe/Berlin');
> an den Scriptanfang geschrieben.
>
> Neue Notice danach:
> mktime(): You should be using the time() function instead
>
> Was geht in den Köpfen der PHP-Entwickler denn da ab?
>
> Soll ich jetzt alles was ich vor 5.1 veröffentlicht habe wieder
> umschreiben? mktime() => time()
>
> Ich bin da jetzt nen bischen baff.
>
> Was sagt Ihr dazu?
>
> MfG, Ulf
Hi,
ich hab das glaube ich mit
date_default_timezone_set(date_default_timezone_get());
gelöst. Allerdings bin ich mir nicht mehr sicher welche time-funktionen
ich genutzt habe ausser time().
gruß
matze
Re: PHP 5.1+ und neues Zeithandling
am 18.08.2006 13:34:47 von Ulf Kadner
Frank Schenk wrote:
>> Neue Notice danach:
>> mktime(): You should be using the time() function instead
>
> Rufst du mktime() ohne Parameter auf?
Mal mit mal ohne.
Im speziellen fall ists ein call_user_func_array() welches mktime()
forciert. u.U. auch ohne parameter.
Aber nach nochmaligen kurzen Test sehe ich es passiert nur wenn ich
keine Parameter angebe.
> http://www.symfony-project.com/trac/ticket/109
Das entspricht ja dem was ich mir bereits selbst zusammengereimt hatte
Die haben doch nen Schuss. (Das regt mich jetzt nen bischen auf ;-))
> Falls du mktime() ohne Parameter aufrufst verstehe ich die Meldung,
> statt mktime() schreibt man ja auch time() - auch wenn bei mktime() alle
> Parameter optional sind.
Das ist ne Sache wie mans gelernt hat. Es gab bis Dato keinen Grund die
verwendung von mktime() ohne Parameter als schlecht/falsch zu
bezeichnen. Gerad in dem zusammenhang der bei mir zur Erkenntnis fuehrte
muss ich jetzt noch ne extra Prüfung einbauen die erst checkt ob
parameter da sind. Wenn nicht time() sonst mktime(). Geil wa? *heul*
> Wie in dem Zitat genannt - die arbeiten wohl fleissig an strict :)
Ich glaub ich besorg mir nen Server der Python unterstützt. ;-)
Dort braucht derartiges nicht erst umstrukturiert werden.
MfG, Ulf
Re: PHP 5.1+ und neues Zeithandling
am 18.08.2006 13:38:08 von Ulf Kadner
Matthias Coy wrote:
> ich hab das glaube ich mit
> date_default_timezone_set(date_default_timezone_get());
> gelöst. Allerdings bin ich mir nicht mehr sicher welche time-funktionen
> ich genutzt habe ausser time().
Hallo!
Wie der Frank bereits schrieb, ist das ein Problem von mktime() ohne
Parameter. Naja, wieder was dazugelernt. :-(
MfG, Ulf
Re: PHP 5.1+ und neues Zeithandling
am 18.08.2006 13:55:27 von Ulf Kadner
Ulf Kadner wrote:
> Ich glaub ich besorg mir nen Server der Python unterstützt. ;-)
Ein Anruf bei meinem Hoster vermittelte mir, das ich bereits Python
nutzen kann. ... und schon ist meine Laune besser ;-)
MfG, Ulf