MAMP / PHP.INI: "date.timezone" Einstellung in phpinfo () zeigt "kein Wert", obwohl der Wert in php.ini eingestellt ist

8

Grüße an StackOverflow-Gurus!

Hier ist das Problem, mit dem ich Probleme habe.

Ich führe phpinfo () in MAMP aus, und die resultierende Tabelle zeigt "no value" in beiden Spalten der date.timezone-Zeile.

Zusätzlich wird auf der Seite Folgendes angezeigt:

Warnung: phpinfo () [function.phpinfo]: Es ist nicht sicher, sich auf die Zeitzoneneinstellungen des Systems zu verlassen. Sie sind erforderlich , um die Einstellung date.timezone oder die Funktion date_default_timezone_set () zu verwenden. Falls Sie eine dieser Methoden verwendet haben und Sie immer noch diese Warnung erhalten, haben Sie höchstwahrscheinlich die Zeitzonen-ID falsch geschrieben. Wir haben "America / New_York" für "EST / -5.0 / no DST" anstatt in /Applications/MAMP/bin/mamp/phinfo.php

ausgewählt

In der Datei php.ini ist die Einstellung jedoch wie folgt:

date.timezone = Amerika / New_York

Ich sehe die Empfehlung vor zu überprüfen, dass der Pfad zu php.ini korrekt ist - ich habe das schon getan, und der Pfad ist in der Tat richtig: /Applications/MAMP/conf/php5.3/php.ini - das ist die Datei, für die der Wert festgelegt wurde.

Wie kann ich das Problem beheben? Was vermisse ich?

Wäre dankbar für Hilfe von einer sachkundigen Person.

    
Dimitri Vorontzov 10.12.2012, 04:36
quelle

6 Antworten

5

Wenn die Zeitzone in der entsprechenden php.ini-Datei richtig eingestellt ist und Sie immer noch diese Nachricht erhalten, können Sie versuchen, Ihre TZ-Umgebungsvariable einzustellen. Bearbeiten Sie Ihre .profile, um die folgende Zeile hinzuzufügen (sub in Ihrer eigenen Zeitzonenzeichenfolge ):

%Vor%

Nicht sicher, warum (a) MAMP überschreibt Ihre php.ini-Einstellung, (b) PHP wirft keinen Hinweis / Warnung bei der Verwendung der TZ env-Variable, obwohl es sagt, aber diese Lösung funktionierte für mich mit MAMP 2.0.5 mit PHP 5.3.6.

    
wizzard 31.01.2013, 04:32
quelle
8

Ich weiß, dass ich etwas zu spät dran bin, aber ich sehe auf einigen Seiten, dass Sie nach der richtigen Zeitzone in MAMP fragen.

Es sollte beachtet werden, dass es zwei Stellen für eine php.ini-Datei für die von Ihnen verwendete php-Version gibt. MAMP lädt es möglicherweise von einem anderen Pfad als dem, den Sie bearbeiten.

Nehmen wir zum Beispiel an, wir benutzen PHP 5.3. Hier sind zwei Stellen einer php.ini-Datei, die jemanden verwirren könnte, welcher zu bearbeiten ist.

%Vor%

Sie scheinen es an dieser Stelle unten zu bearbeiten:

%Vor%

Das Bearbeiten der Zeitzone im zweiten Pfad funktionierte nicht für mich, aber das Editieren der Zeitzone im ersten Pfad. Es kann sein, dass Sie die falsche Datei bearbeiten, obwohl sie gleich aussieht. Ich habe das auf meiner Version getestet. Wenn Sie <?php phpinfo(); ?> in einer PHP-Datei ausführen und den Pfad der Datei php.ini überprüfen, wird immer der korrekte Pfad angezeigt.

Auch, um nur darauf hinzuweisen, funktioniert die Verwendung von doppelten Anführungszeichen um den Wert von date.timezone. Zum Beispiel in meiner php.ini-Datei funktioniert das.

%Vor%

Auch der Standardwert wurde in doppelte Anführungszeichen eingeschlossen.

Ich habe auch die MAMP-Version 2.1.1 verwendet, als ich das getestet habe.

    
JoeMoe1984 18.08.2013 19:26
quelle
3

Beachten Sie, dass es verschiedene PHP-Versionen in / Applications / MAMP / conf gibt. Sie sollten überprüfen, welche Version Sie in der MAMP verwenden - & gt; Einstellungen - & gt; Registerkarte "PHP"

Wenn Sie auf 5.4.4 setzen, müssen Sie auf /Applications/MAMP/conf/php5.4.4/php.ini

zugreifen

@edit

Im Terminal ausführen:

%Vor%

oder

%Vor%     
Bruno Alano 10.12.2012 04:48
quelle
3

Wenn dieser Fehler in der Terminal-CLI-Verwendung von PHP auftaucht, könnte dies ein Problem bei der nativen vs MAMP PHP-Kollision sein.

MacOS X wird mit einer eigenen vorinstallierten PHP-Version geliefert, die in der Shell ausgeführt wird, wenn Sie php eingeben. Die PHP-Konfiguration von MAMP unterscheidet sich von der vorinstallierten PHP-Konfiguration: Die Änderung der MAMP PHP-Zeitzoneneinstellung wirkt sich nicht auf das aus, was Sie in CLI sehen - daher bleibt der Zeitzonenfehler bestehen. Ein schneller Weg zur Überprüfung ist die Ausführung von which php - Wenn Sie keinen Pfad sehen, der mit /Applications/MAMP/... beginnt, müssen Sie Ihre Umgebung anpassen.

Bearbeiten Sie dazu eine Textdatei .profile (oder bash RC-Datei) und fügen Sie diese Zeile hinzu:

%Vor%

Passen Sie den obigen Pfad an, um auf Ihre gewünschte MAMP PHP-Installation zu zeigen. Dann führe:

%Vor%

Dadurch wird die PATH-Änderung sofort angewendet (andernfalls müssten Sie ein neues Terminalfenster öffnen, um Änderungen zu übernehmen). Der zweite Befehl ist nur ein Bash-CLI-Cache-Löschbefehl.

Führen Sie als letzte Überprüfung which php aus, um zu überprüfen, welcher PHP-Installationspfad verwendet wird. Hoffe das hilft!

    
Nick Matantsev 04.12.2013 21:49
quelle
1

In Ubuntu 13.10 mit PHP 5.5.3 Öffne dein Terminal und mache

%Vor%

es zeigt zwei Dateien php.ini für mich ergibt es:

%Vor%

öffne beide Dateien mit sudo, ich benutze nano

%Vor%

finde und bearbeite diese Zeile:

%Vor%

und ändern zu:

%Vor%

Speichern und schließen Sie diese Datei und bearbeiten Sie ein weiteres

%Vor%

finde und bearbeite diese Zeile:

%Vor%

und ändern zu:

%Vor%

Speichern und schließen und starten Sie Apache mit

%Vor%

Es funktioniert für mich !!!

    
Simonts Cedeno 02.04.2015 08:45
quelle
0

grep -lr "Berlin" * | xargs sed -i .backup -e 's#Europe/Berlin#America/New_York#g'

Der obige Befehl brauchte in meinem Fall einige Finessen. Dies wird auch Sicherungsdateien erstellen.

    
Jon 16.08.2013 20:33
quelle

Tags und Links