"Phpinfo (): Es ist nicht sicher, sich auf die Zeitzoneneinstellungen des Systems zu verlassen ..." [duplizieren]

Diese Frage hat hier bereits eine Antwort:

"Date (): Es ist nicht sicher, sich auf die Zeitzoneneinstellungen des Systems zu verlassen ..." 22 Antworten

Beim Ausführen eines PHP-Installationsskripts für Blue.box (Front-End für FreeSwitch PBX) wird dieser Fehler wegen eines Zeitzonenfehlers angezeigt.

Dann fange ich an zu graben. Ich bin mir nicht sicher, was gerade los ist. Aber hier ist was ich habe:

Ich habe eine info.php-Datei in meinem public_html-Verzeichnis erstellt, die eine einzelne Zeile enthält:

Und ich bekomme diesen Fehler und die Ausgabe

Warnung: phpinfo (): Es ist nicht sicher, sich auf die Zeitzoneneinstellungen des Systems zu verlassen. Sie sinderforderlich um die Einstellung date.timezone oder die Funktion date_default_timezone_set () zu verwenden. Wenn Sie eine dieser Methoden verwendet haben und diese Warnung weiterhin angezeigt wird, haben Sie die Zeitzonen-ID höchstwahrscheinlich falsch geschrieben. Wir haben 'America / New_York' für 'EDT / -4.0 / DST' in /home/0default/public_html/info.php in Zeile 1 ausgewählt

date/time

     support    enabled
    "Olson" Timezone Database Version   0.system
    Timezone Database   internal
    Default timezone    America/New_York

    Directive   Local Value Master Value
    date.default_latitude   31.7667 31.7667
    date.default_longitude  35.2333 35.2333
    date.sunrise_zenith 90.583333   90.583333
    date.sunset_zenith  90.583333   90.583333
    date.timezone   America/New_York    America/New_York

Ich habe eine Datei /etc/php.d/timezone.ini mit folgendem Inhalt erstellt:

[root@mercury php.d]# cat timezone.ini
; default time zone
date.timezone='America/New_York'
[root@mercury php.d]#

Ich kann die Zeitzone in America / Los_Angeles ändern (zum Beispiel), und nach dem Neustart von Apache ändert sich das Feld "date.timezone" korrekt.

Aber ich bekomme immer noch den Fehler.

Irgendwelche Ideen?

--- Zusätzliche Anmerkung ---

Wenn ich die Datei /etc/php.d/timezone.ini ändere:

[root@mercury php.d]# cat timezone.ini
; default time zone
date.timezone='America/Los_Angeles'

Ich kann die info.php-Ausgabe ändern:

Datum

Warnung: phpinfo (): Es ist nicht sicher, sich auf die Zeitzoneneinstellungen des Systems zu verlassen. Sie sinderforderlich um die Einstellung date.timezone oder die Funktion date_default_timezone_set () zu verwenden. Wenn Sie eine dieser Methoden verwendet haben und diese Warnung weiterhin angezeigt wird, haben Sie die Zeitzonen-ID höchstwahrscheinlich falsch geschrieben. Wir haben 'America / New_York' für 'EDT / -4.0 / DST' in /home/0default/public_html/info.php in Zeile 1 ausgewählt

date/time support   enabled
"Olson" Timezone Database Version   0.system
Timezone Database   internal
Default timezone    America/New_York

Directive   Local Value Master Value
date.default_latitude   31.7667 31.7667
date.default_longitude  35.2333 35.2333
date.sunrise_zenith 90.583333   90.583333
date.sunset_zenith  90.583333   90.583333
date.timezone   America/Los_Angeles America/Los_Angeles

--- Zusätzliche Anmerkung ---

Für diejenigen, die (wie ich) lernen, werden mehrere INI-Dateien geladen. In der info.php Ausgabe:

Configuration File (php.ini) Path   /etc
Loaded Configuration File   /home/0default/etc/php5/php.ini
Scan this dir for additional .ini files /etc/php.d
Additional .ini files parsed    /etc/php.d/curl.ini, /etc/php.d/dom.ini, /etc/php.d/fileinfo.ini, /etc/php.d/gd.ini, /etc/php.d/imap.ini, /etc/php.d/json.ini, /etc/php.d/mbstring.ini, /etc/php.d/mysql.ini, /etc/php.d/mysqli.ini, /etc/php.d/odbc.ini, /etc/php.d/pdo.ini, /etc/php.d/pdo_mysql.ini, /etc/php.d/pdo_odbc.ini, /etc/php.d/pdo_pgsql.ini, /etc/php.d/pdo_sqlite.ini, /etc/php.d/pgsql.ini, /etc/php.d/phar.ini, /etc/php.d/snmp.ini, /etc/php.d/sqlite3.ini, /etc/php.d/timezone.ini, /etc/php.d/wddx.ini, /etc/php.d/xmlreader.ini, /etc/php.d/xmlrpc.ini, /etc/php.d/xmlwriter.ini, /etc/php.d/xsl.ini, /etc/php.d/zip.ini

Die erste geladene Datei ist /etc/php.ini, dann die "geladene Konfigurationsdatei" und dann die "Scan this dir" -Dateien.

So sollte man beispielsweise in der Lage sein, eine Reihe von PHP-Websites in verschiedenen Standardzeitzonen zu erstellen. Legen Sie die Master-Standardeinstellung in /etc/php.ini fest und lassen Sie dann zu, dass jede Website eine andere Zeitzone hat, wie im Abschnitt "Laden ..." angegeben. Wenn Sie sich dann Gedanken über Überschreibungen machen, kann der Master die /etc/php.d -Dateien erneut überschreiben.

Ich habe versucht, die "date.timezone" an jedem der drei Speicherorte zu ändern und die in der info.php angezeigte date.timezone erfolgreich zu ändern. Der Wert "Default timezone" (Standard-Zeitzone) wird jedoch nicht geändert Wert, der den Fehler verursacht.

Ein weiterer Hinweis, das von mir ausgeführte .php-Skript, ist Blue.box, ein Frontend für FreeSwitch. Also ... ich zögere, das .php-Skript zu ändern.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage