selfhtml.de - Alles für den Webmaster!

 

Empfehlung:

wix.com

Kostenlose Homepage

Besuchen Sie auch:

Jobs:

Änderungsdatum

Autor: gaby
Datum: 27.04.2013 16:30:00

Moin moin!  :-)

Ich hätte gern mal ein Problem. ;-)

Ich möchte im Footer das letzte Änderungsdatum der betreffenden Seite ausgeben.
Lokal, mit xampp, klappt das auch.
Auf meinem Testserver klappt es ebenfalls.

http://gaby77.ga.funpic.de/PHP-TEST/footer-test.html

Auf dem Kunden-Server bekomme ich jedoch eine Fehlermeldung:

Strict Standards: date() [function.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 'CEST/2.0/DST' instead in /home/www/blubb/html/footer-test.html on line 198
zuletzt geändert am: 27. 04. 2013 15:52


Ersetze ich nun "date()" durch "date_default_timezone_set()", wird überhaupt kein Datum mehr ausgegeben.

http://gaby77.ga.funpic.de/PHP-TEST/footer-test-1.html

----

Hier ist der footer:

<div class="footer">

<p class="aenderdatum">
    <?php
        setlocale(LC_TIME, "de_DE");
        $dieseSeite = basename($_SERVER['SCRIPT_NAME']);
        echo "zuletzt geändert am: " . "<span>" .
                date("d. m. Y H:i", filemtime($dieseSeite)) . "</span>";
    ?>
</p>


<p class="copyright">Copyright <span>© Lieschen Müller</span> <br>
        meine Firma
</p>

<br style="clear: both">

</div><!--ende-footer-->


------------

Könnte mir da bitte mal jemand weiterhelfen?

Grüße
gaby



Re: Änderungsdatum

Autor: T.Jung
Datum: 28.04.2013 12:53:23

> Auf dem Kunden-Server bekomme ich jedoch eine
> Fehlermeldung:
>
> <i>Strict Standards: date() [function.date]: It
> is not safe to rely on the system's timezone
> settings.

Diese Meldung bedeutet nur:
Es ist unsicher, sich darauf zu verlassen, dass der Server die Zeitzone eingestellt hat, die Du wünschst. Und dass Du sie deshalb besser von Hand setzen solltest.
Und deshalb ist es auch keine _Fehlermeldung_, sondern eine _Warnung_. ;-)


> Ersetze ich nun "date()" durch
> "date_default_timezone_set()", wird überhaupt
> kein Datum mehr ausgegeben.

So funktioniert das auch nicht.
Setze einfach folgende Zeile in Dein Script:

date_default_timezone_set('Europe/Berlin');

... und zwar möglichst früh im Scriptverlauf und auf jeden Fall _vor_ die Zeile mit dem date().

Gruß,
Tobias



Re: Änderungsdatum

Autor: gaby
Datum: 28.04.2013 13:37:45


moin moin,

Mittlerweile kann ich das Problem etwas eingrenzen:

Um zu sehen, ob auch andere Datumsfunktionen von dieser Fehlermeldung betroffen sind, habe ich in der gelben Box noch einen timestamp eingefügt.

http://gaby77.ga.funpic.de/PHP-TEST/footer-test-a.html

der Aufruf ist:

<?php  include ("includes/inc-footer_akt-datum.php") ?>

der Inhalt der Datei "inc-footer_akt-datum.php":

---

<div class="footer">

    <p class="aenderdatum">
        <?php
            setlocale(LC_TIME, "de_DE");
            $dieseSeite = basename($_SERVER['SCRIPT_NAME']);
                 echo "zuletzt geändert am: " . "<span>" .
                      date("d. m. Y H:i", filemtime($dieseSeite)) . "</span>";
        ?>
    </p>



    <p class="copyright">Copyright <span>© Lieschen Müller</span> <br>
       meine Firma

       <?php
          $timestamp = time();
          echo "aktuelles Datum (timestamp): " . $timestamp . "<br>";
       ?>
    </p>

    <br style="clear: both">

</div><!--ende-footer-->

---

Das Ergebnis ist auf meinem Funpic-Test-Server richtig, wie erwartet,
auf dem Kunden-Server (siehe Screenshot).
Also muss es ja wohl entweder an der date-Funktion oder an der filemtime-Funktion liegen.
Nur, was nehme ich jetzt stattdessen?

Ich habe schon die php.ini auf dem Kunden-Server abgeklappert, um zu sehen, ob dort irgendetwas eingestellt ist, das obige Fehlermeldung hervorruft, habe aber nix gefunden.
So eine blöde Fehlermeldung braucht kein Mensch! :-(

Als allerletzte Möglichkeit könnte ich noch error_reporting ausschalten.
Trotzdem wüßte ich gerne, an was es liegen könnte.
Wenn jemand eine Ahnung hat, nur her damit. ;-)


Grüße
gaby



Re: Änderungsdatum (Ergänzung)

Autor: gaby
Datum: 28.04.2013 13:47:55

Noch eine weitere Eingrenzung:

Wenn die aufrufende Datei eine php-Datei ist, funktioniert es ohne Fehlermeldung.
Ist sie, - wie in meinem Fall, - eine html-Datei, kommt dieser Mist. :-(

Leider kann ich die Haupt-Dateien nicht in *.php umswitchen, da der Kunde _absoluter_ Laie ist, aber trotzdem auch noch selbstständig Änderungen vornehmen möchte.

-----

btw:
Hab eine .htaccess mit
AddType application/x-httpd-php .html
AddType application/x-httpd-php .htm




Re: Änderungsdatum

Autor: gaby
Datum: 28.04.2013 15:04:12

Hallo,

Ich hatte gar nicht bemerkt, daß Du schon längst geantwortet hast, sonst hätte ich mir die 2 vorigen Postings erspart. Hab mir gerade vor lauter Frust einen Kaffee und ein paar Kekse geholt. ;-)

> > Strict Standards: date() [function.date]: It
> > is not safe to rely on the system's timezone settings.
>
> Diese Meldung bedeutet nur:
> Es ist unsicher, sich darauf zu verlassen, dass
> der Server die Zeitzone eingestellt hat, die Du
> wünschst. Und dass Du sie deshalb besser von Hand
> setzen solltest.
> Und deshalb ist es auch keine _Fehlermeldung_,
> sondern eine _Warnung_. ;-)

Danke für die Übersetzung. :-))


> > Ersetze ich nun "date()" durch
> > "date_default_timezone_set()", wird überhaupt
> > kein Datum mehr ausgegeben.
>
> So funktioniert das auch nicht.
> Setze einfach folgende Zeile in Dein Script:
>
> date_default_timezone_set('Europe/Berlin');
>
> ... und zwar möglichst früh im Scriptverlauf und
> auf jeden Fall _vor_ die Zeile mit dem date().

es klaaapt!!
Danke, danke! :-))

Eigentlich hatte ich ja bereits eine Zeitzone angegeben:

|  setlocale(LC_TIME, "de_DE");

Außerdem hatte ich nach meinem letzten Test, bei dem bei einer html-Datei die Warn-Meldung, und bei einer php-Datei _keine_ Warn-Meldung kam, an einer ganz anderen Stelle gesucht.
Hast Du da einer Erklärung dafür?

So, der Frust ist jetzt zwar weg, aber die Kekse esse ich trotzdem. ;-))

Grüße und ein schönes WE!
gaby



Re: Änderungsdatum

Autor: T.Jung
Datum: 28.04.2013 18:17:56

> Eigentlich hatte ich ja bereits eine Zeitzone
> angegeben:
>
> |  setlocale(LC_TIME, "de_DE");

Nein, damit setzt Du nur, in welchem landestypischen Format Datums- und Zeitangaben bei Verwendung der Funktion strftime() ausgegeben werden -- das muss ja nicht mit der Zeitzone identisch sein.


> Außerdem hatte ich nach meinem letzten Test, bei
> dem bei einer html-Datei die Warn-Meldung, und
> bei einer php-Datei _keine_ Warn-Meldung kam, an
> einer ganz anderen Stelle gesucht.
> Hast Du da einer Erklärung dafür?

Ob Warnungen überhaupt ausgegeben werden, wird in der php.ini entschieden, sofern diese Einstellung nicht von einer htaccess-Datei oder halt der Funktion error_reporting() überschrieben werden.
Möglicherweise -- ich habe das nie ausprobiert -- geht der PHP-Parser auf andere Einstellungen (etwa seine werksseitigen Grundeinstellungen) zurück, sofern Du per AddType in der httaccess-Datei auch .html-Dateien durch den Parser schickst.

Fänd ich zwar irgendwie komisch, aber so etwas in der Art könnte es sein.


> So, der Frust ist jetzt zwar weg, aber die Kekse
> esse ich trotzdem. ;-))

Ich hoffe, sie haben Dir geschmeckt!
Ich hab heute den ersten Eisdielen-Besuch des Jahres durchgeführt... :-)

Gruß,
Tobias



Re: Änderungsdatum

Autor: gaby
Datum: 28.04.2013 19:29:36

> > |  setlocale(LC_TIME, "de_DE");
>
> Nein, damit setzt Du nur, in welchem
> landestypischen Format Datums- und Zeitangaben
> bei Verwendung der Funktion strftime() ausgegeben
> werden -- das muss ja nicht mit der Zeitzone
> identisch sein.

ahh, danke!

  
> Ob Warnungen überhaupt ausgegeben werden, wird in
> der php.ini entschieden, sofern diese Einstellung
> nicht von einer htaccess-Datei oder halt der
> Funktion error_reporting() überschrieben werden.
> Möglicherweise -- ich habe das nie ausprobiert --
> geht der PHP-Parser auf andere Einstellungen
> (etwa seine werksseitigen Grundeinstellungen)
> zurück, sofern Du per AddType in der
> httaccess-Datei auch .html-Dateien durch den
> Parser schickst.
>
> Fänd ich zwar irgendwie komisch, aber so etwas in
> der Art könnte es sein.

Hmmm, dann kommt es vielleicht auch auf die PHP-Version an?
Auf dem Funpic-Server und lokal mit xampp(ältere Version) ist das ja nicht so.


> > So, der Frust ist jetzt zwar weg, aber die Kekse
> > esse ich trotzdem. ;-))
>
> Ich hoffe, sie haben Dir geschmeckt!

Ja, das haben sie natürlich!  :-)

> Ich hab heute den ersten Eisdielen-Besuch des
> Jahres durchgeführt... :-)

Brrr, bei uns ist es z.Zt sowas von schweinekalt!
Vor wenigen Tagen war's noch 25°, und heute gefühlte 5°.
Da ist ein Eisbecher sicher nur etwas für die ganz Gesunden. :-)
Ich hoffe, es hat auch Dir geschmeckt, und Du hast Dir nicht von den jährlichen unverschämten Preiserhöhungen den Genuß verderben lassen. ;-)


Grüße
gaby



Re: Änderungsdatum

Autor: T.Jung
Datum: 28.04.2013 20:01:29

> Hmmm, dann kommt es vielleicht auch auf die
> PHP-Version an?
> Auf dem Funpic-Server und lokal mit xampp(ältere
> Version) ist das ja nicht so.

Diese spezielle Warnung wurde (glaube ich) mit PHP 5.3 eingeführt.
Die ist zwar auch nicht mehr ganz taufrisch, aber wenn Du eine noch ältere Version haben solltest, wäre es also kein Wunder, wenn keine Meldung kommt.

Darüber hinaus hängt es eben von der Einstellung ab, ob Warnungen per Default _überhaupt_ ausgegeben werden. Bei Funpic würde es mich nicht wundern (genauer gesagt, würde ich das sogar als richtig empfinden), wenn Warnungen unterdrückt werden.
In einer Entwicklungsumgebung wie XAMPP sollten Warnungen aber schon ausgegeben werden.


> Brrr, bei uns ist es z.Zt sowas von
> schweinekalt!
> Vor wenigen Tagen war's noch 25°, und heute
> gefühlte 5°.

Hier waren es 13 °C, aber sonnig, »gefühlt« also etwas wärmer.


> Ich hoffe, es hat auch Dir geschmeckt, und Du
> hast Dir nicht von den jährlichen unverschämten
> Preiserhöhungen den Genuß verderben lassen. ;-)

Ja, war sehr lecker.
Und Preiserhöhungen _konnte_ diese Eisdiele noch gar nicht machen, weil sie kürzlich erst eröffnet haben. ;-)
Und EUR 1 pro Kugel ist glaub ich mittlerweile normal...

Gruß,
Tobias



Re: Änderungsdatum

Autor: gaby
Datum: 29.04.2013 07:18:34

> Darüber hinaus hängt es eben von der Einstellung
> ab, ob Warnungen per Default _überhaupt_
> ausgegeben werden.

Ich habe jetzt nochmal in der php.ini auf dem Kunden-Server nachgeschaut. Du hattest recht, dort gibt es
| error_reporting  =  E_ALL & ~E_NOTICE


> In einer Entwicklungsumgebung wie XAMPP sollten
> Warnungen aber schon ausgegeben werden.

in der php.ini in meinem (etwas älteren) xammp steht
| error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED  

Hmmm, generell hab ich's ja nicht so mit den Updates,
aber in diesem Fall sollte ich doch mal wieder ... ;-)

-----

> Ja, war sehr lecker.

Das ist die Hauptsache. :-)

> Und Preiserhöhungen _konnte_ diese Eisdiele noch
> gar nicht machen, weil sie kürzlich erst eröffnet haben. ;-)

Das macht sie aber nicht besser, nur weil sie _gleich_ auf diesem hohen Level eingestiegen sind. ;-)

SCNR


Grüße
gaby