PHP: Wie zu Lesen das aktuelle Datum/Zeit vom server, nicht von php.ini
Hier ist mein problem:
echo date('Y-m-d H:i:s');
echo date('Y-m-d H:i:s', mktime());
echo exec('date');
Ausgabe:
2012-03-21 08:45:51
2012-03-21 08:45:51
Wed Mar 21 10:45:51 EDT 2012
Server-Zeit ist 2 Stunden von der Zeit zurückgegeben, die vom php date(); oder jede andere php-Datums - /Zeit-Funktion. Es geschieht, weil die server-Zeit eingestellt EST und PHP.INI date.timezone="America/Denver"
Brauche ich zum synchronisieren die beiden, mittels date_default_timezone_set, aber ich weiß nicht im Voraus, was ist der Unterschied.
Gibt es einen anderen Weg, um lokale server-Zeit neben dem Aufruf von exec?
UPD: ich weiß, dass php.ini-Einstellung falsch ist und dass ich es ändern können. Das problem ist, dass dieses Skript funktioniert auf niemand weiß, welche Art von Servern. Ich kann nicht gehen, um jede und jeden von Ihnen, und korrigieren Sie die php.ini-Datei. Ich weiß auch nicht im Voraus wissen, welche Zeitzone wird auf diesen Servern. Ich brauche eine dynamische Lösung, die funktioniert überall.
InformationsquelleAutor NextScripts | 2012-03-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
können Sie ändern Sie die ini-Datum Zeit-zone, und drucken Sie das Datum
php.ini
falsch konfiguriert ist. Ändern Sie Ihre Konfigurationsdatei um genau zu sein, und Sie sollten in Ordnung sein.Ich weiß, dass das problem ist, dass dieses Skript funktioniert auf niemand wissen, welche Art von Servern. Ich kann nicht gehen, um jede und jeden von Ihnen, und korrigieren Sie die php.ini-Dateien. Ich brauche eine dynamische Lösung, die funktioniert überall.
Sie nicht über die richtige ini-Datei. diese setzen Sie oben in das script
InformationsquelleAutor zod
InformationsquelleAutor Md. Tauhidul Islam
ODER
einige Gastgeber geben Ihnen die Möglichkeit, zu Bearbeiten
php.ini
suchen
php config
imcpanel
so speichern Sie in TIMESTAMP dann und konvertieren für jeden Benutzer direkt
InformationsquelleAutor Al Po
Auf *nix, Sie verwenden können, formatieren Parameter
date
zu bekommen, was Sie brauchen:date +%z
— Zeitzone (hhmm)date +%:z
— Zeitzone (hh:mm)date +%Z
— Zeitzone Abkürzung (z.B. "EDT")Bilden Sie ein system nennen (z.B.
echo exec('date +%z');
) umgeht alle INI-Einstellungen wie pro date_default_timezone_get. Beachten Sie, dass diese Funktion gibt eine E_WARNING, wenn er liest aus dem system Zeit, und zwar von PHP 5.4 es gar nicht erlauben, Lesen — speziell, weil es kann nicht verlassen werden.Konsistent sein, unabhängig von der server-Einstellungen Sie verwenden sollten, UTC innerhalb Ihrer Anwendung. Für Benutzerfreundlichkeit, GMT ist nahe genug, um zu UTC für die meisten Zwecke verwenden, so können Sie
gmdate()
.InformationsquelleAutor cmbuckley