2012-01-21 168 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文件。

相关问题