2009-04-19 5 views
0

WAPPスタック(Windows、Apache、PostgreSQL、PHP)を使用するWin2kサーバ上。 PHP Webアプリケーションの実行。また、PHPの対話型コンソールを使用してテストさタイムゾーンの問題PHP 5.2 Windows(WAPPスタック)

日時が正しく報告されていますが、タイムゾーンが誤って報告されたいくつかの奇妙な理由:

php -a 
<?php 
echo date('c'); 
2009-04-19T16:52:35-04:00 

C:\WAPP\php>time /t 
17:06 

C:\WAPP\php>date /t 
Sun 04/19/2009 

サーバのOSのタイムゾーンは、実際にはGMT-5に設定されています。私は(非公式な)DST修正を使用し、php_timezonedb.dll拡張を使用しようとしましたが、問題は解決しません。

このサーバーは他のアプリケーションも実行しています(私の制御下ではありません)ので、時間を変更することはできません。 PHPアプリケーションでGMT-4に全員を一時的に設定することもできますが、それほどハッキリしない解決策があるはずです。

誰にも何か提案がありますか、何が起こっているのかについて詳しく説明できますか?私はそれがDSTとWindowsの最近の変更に関係していると思うし、PHPがタイムゾーンを不適切に検出する原因となっている。

答えて

0

php.iniファイルにアクセスできない場合(サーバーのタイムゾーンを設定できます)、スクリプトでタイムゾーンを設定する必要があります。

あなたが使用してタイムゾーン関連の問題の多くを避けることができ
2

:それは返される時間はGMT(グリニッジ標準時)であることを除いてdate()関数と同じです

gmdate (string $format [, int $timestamp ]); 

0

アプリケーションディレクトリの.htaccessにある変数date.timezoneを設定することで、使用しているタイムゾーンを設定できます。

php_value date.timezone "America/Bahia" 
0

あなたは(php.iniのからかdate_default_timezone_set()のいずれか)

私はあなたが厳格なエラー通知をオンにすると推測している、あなたは設定しないというエラーを取得したいタイムゾーンを設定する必要がありますデフォルトのタイムゾーン。

日付/時刻関数を呼び出すたびに、システムの設定やTZ環境変数を使用する場合はタイムゾーンが有効でない場合E_NOTICEを生成、および/またはE_STRICTメッセージます。また、date_default_timezone_set()