2012-01-21 100 views
2

我在瀏覽器中運行腳本而不是命令行時遇到問題。在瀏覽器中運行腳本echo的日期爲2012年1月20日,但在命令提示符下運行時,它的回聲的日期爲2012年1月21日。我有我的時區設置爲PHP命令行和瀏覽器返回不同結果

date.timezone = America/New_York 

我在命令行中運行此腳本:

"c:\wamp\bin\php\php5.3.4\php.exe" -f "c:\wamp\www\site.com\cron.php" 

爲什麼我來自同一個腳本得到兩個不同的日期的任何想法?

+0

這只是一個猜測,但可能PHP的CLI SAPI訪問系統時鐘來確定WAMP版本使用Windows時間設置的時間?這裏不太確定。有時使用PHP,WAMP/windows可能會變得時髦。如果使用'date_default_timezone_set();'在運行時設置時區,是否會發生同樣的情況? – rdlowrey

+2

我想我明白了這一點,我很驚訝更多的人不會遇到這種類型的問題。 WAMP擁有自己的PHP.ini文件,位於Apache bin DIR中。但PHP.exe使用的命令shell默認PHP.ini與..PHP.exe位於同一目錄中。愚蠢的WAMP! –

+0

此外,系統通常會提供2個php.ini文件,一個用於命令行,另一個用於Web服務器。 – quickshiftin

回答

1

檢查你的Apache和命令行是否有相同的PHP。並使用相同的php.ini文件。

0

php-cliphp-cgi,& php-fpm全都使用不同的php.ini文件。

相關問題