2011-12-27 9 views
11

私の特定のケースでは、サーバとクライアントの両方が同じコンピュータですが、私はlocalhostにいます。 date()関数から日付をエコーアウトすると、11時間前の全く間違った値が表示されます。私もgmdate()を試しましたが、PMではなくAMに日付が表示されます。それは私のコンピュータ上の時間と同じ表示されるので、毎回私はそれをPHPで取得するので、Apacheのサーバーの時間を変更する方法はありますか?コンピュータの時刻(PHP)と一致するようにApacheサーバーの時刻を変更するにはどうすればよいですか?

EDIT:遅く編集して申し訳ありません。私はすでにphp.iniにタイムゾーンを設定していますが、まだ動作しません。私はマニュアルから取得してphpinfo()からチェックしたので、私は自分のタイムゾーンが正しいと確信しています。

+1

重複している可能性があります。この質問への私の答えを見てくださいhttp://stackoverflow.com/questions/8596083/apache-time-stamp-incorrect/8596163#8596163 –

+0

http://php.net/manual/en/datetime.configuration.php – hakre

+0

@トム私はすでにそれをやっているが、それはまだ動作しません! – menislici

答えて

14

私はあなたが探していると信じて:date_default_timezone_set (string $timezone_identifier)

Link

あなたはまた、あなたのphp.iniの設定でこれを設定することができます。

+0

date_default_timezone_setの問題のみが機能ですので、OPがソフトウェアを実行している場合、彼が実行しているすべてのソフトウェアに追加する必要がありますが、私の答えのようにphp.iniに設定すると、設定を変更する必要がある唯一の場所です。 – Justin

+0

それはあなたがソフトウェアを書いているものに依存します。移植性のためにソフトウェアを書いているなら、これをコードに設定することが望ましい特性かもしれません。 –

+0

はいAndy正しいです。ただし、ローカルホスト上のサーバーをローカル時刻と同じにするには、php.iniに設定するのが最適です。次に、プログラム内でプログラムを変更する機能を作成することは、その点で移植性を提供するための第二の方法です。 – Justin

9

php.iniファイルでこれを行う必要があります。私はウィンドウ上にあり、WAMPを実行しているので、php.iniの場所は:c:/wamp/bin/apache/Apache2.2.21/bin/

あなたはそのファイルを開き、デフォルトは次のように設定されています:date.timezone = UTCあなたが好きな時間帯のため、この値は、サポートされているタイムゾーンの完全なリストについては...

を変更、あなたが訪問することができます:http://php.net/manual/en/timezones.php

8

オープンに/etc/php.ini下のphp.ini。

この行のコメントを外して、あなたの大陸と主要都市を追加してください。ドイツ(ドイツ)で働く例です。

[Date] 
; Defines the default timezone used by the date functions 
; http://php.net/date.timezone 
date.timezone = Europe/Berlin 

は、ドイツのすべてのタイムゾーンのためのウェブサイトhttp://php.net/manual/de/timezones.phpを参照してください。

ファイルphp.iniを保存します。そして、Apacheを再起動してください。

systemctl restart httpd.service 
+0

'php.ini'全体をスクロールして、この変更をすべて' date.timezone = ' –

0

これはphp.iniで変更することができます。 Mageia LINUXはこれを使用しています。 xamppを使用している場合はxampp/php/php.iniを開きます。 'date.timezone = Europe/Berlin'という行を探し、あなたのタイムゾーンに変更してください。私の場合、私は 'date.timezone = Africa/Nairobi'に変更しました。 Apacheを保存して再起動する

関連する問題