0

私は以下を使用するcakephp1.3をインストールしました:
Apacheバージョン:2.2.21
PHPバージョン:5.3.8
MySQLバージョン:5.5.16。
問題は、私が以下をエコーするときです

echo date('l jS \of F Y h:i:s A');
現地時間より数時間戻って時間を取得します(マシン時間はオーストラリアの私の国の時間に設定されています)。
php.iniファイルに変更を加え、date.timezone = UTC + 10に設定すると、正しい現地時間が取得されますが、多くの警告も表示されます。

警告:strtotime()[function.strtotime]:システムのタイムゾーン設定に依存することは安全ではありません。date.timezone設定またはdate_default_timezone_set()関数を使用する必要があります。これらの方法のいずれかを使用してもこの警告が表示される場合は、タイムゾーン識別子のスペルを間違えている可能性があります。515行目のC:\ wamp \ www \cakephp \ lib \ Cake \ Cache \ Cache.phpで、代わりに「10.0/noDST」に「Australia/Melbourne」を選択しました。

助けてください

4

2 に答える 2

2

投稿で述べたように、タイムゾーンを「UTC+10」のようにUTCへのオフセットとして指定することはできません。有効なタイムゾーン文字列の1つを使用する必要があります。ここで大陸を選択すると、有効なタイムゾーン文字列のリストが表示されます。

だから例えば。core.phpでは、次のことを行う必要があります。

date_default_timezone_set("Australia/Melbourne");

タイムゾーン文字列を他の有効なタイムゾーン文字列に変更します。ちなみに、CakeTime :: listTimezones()は、タイムゾーンのリストも提供します。

編集:おそらくタイムゾーンをUTCへのオフセットとして指定できますが、指定しないでください。

于 2012-10-05T06:42:31.133 に答える
1

PHPからタイムゾーン関連のエラーが発生した場合は、app / Config/core.phpの1行のコメントを外してください。

<?php
/**
 * Uncomment this line and correct your server timezone to fix
 * any date & time related errors.
 */
    date_default_timezone_set('UTC');

http://book.cakephp.org/2.0/en/installation.html#fire-it-up

于 2012-10-05T02:32:26.090 に答える