2012-08-24 10 views
8

私は私のphp.iniファイルにこのエントリがあります。PHP date.timezoneでコマンドラインスクリプトで正しく動作しないだけで

date.timezone = 'Europe/London'; 

しかし、私は、日時を(使用するたびに)コマンドラインスクリプトでは、私はまだ取得次のエラー:

date_default_timezone_set('Europe/London'); 

W:

Exception: DateTime::__construct(): It is not safe to rely on the system's timezone settings. 

You are *required* to use the date.timezone setting 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/London' for 'BST/1.0/DST' instead 

私はので、この作業を取得するために、任意のスクリプトの中で次の操作を実行する必要が他にもこのエラーが発生する可能性がありますか?私が手

<?php 

var_dump(ini_get('date.timezone')); 
exit; 

コマンドラインでは:Webブラウザで

string(0) "" 

は私が手:

UPDATE

は、私は両方のコマンドラインとWebブラウザで次のように使用しました

string(13) "Europe/London" 
+2

php.iniファイルを変更した後でサーバを再起動しましたか? –

+0

はい、それは再起動されましたが、とにかく値が設定されていて、サーバーが何度も再起動されました。例外が発生しているコマンドラインスクリプトを書いているのは今のところです – user1572427

+0

echo ini_get( 'date.timezone')を試してみてください。実際に何が設定されているかを確認します。 –

答えて

17

CLIとwebserver(およびcgiとfpm)は異なるphp.iniファイルを使用します。あなたはあなたのブラウザで正しい価値を見ていると言いますから、間違ったものを編集したと思います。 cliタイプの場合

php --ini 

これは、編集する必要があります。それは、例えば、2行目の一つだ

Loaded Configuration File:   /etc/php5/cli/php.ini 
1

(メディア寺のような)一部のサーバーで行う特定のdomains.Soための設定は/ etcの下にある一般的なphp.iniファイルにアクセスするサーバー/ php.iniしかし、ブラウザはドメインのphp.iniファイルにアクセスします。問題が発生する可能性があります

+1

これはCLIについてのもので、ドメインは独立したものです。 – KingCrunch

関連する問題