【发布时间】:2012-01-21 02:06:28
【问题描述】:
在浏览器和命令行中运行脚本时遇到问题。在浏览器中运行时,脚本回显日期为 1/20/2012,但是在命令提示符下运行时,它回显的明天日期为 2012 年 1 月 21 日。我已将我的时区设置为
date.timezone = America/New_York
我在命令行中运行这个脚本:
"c:\wamp\bin\php\php5.3.4\php.exe" -f "c:\wamp\www\site.com\cron.php"
关于为什么我从同一个脚本中得到两个不同的日期有什么想法吗?
【问题讨论】:
-
这只是一个猜测,但是当 WAMP 版本使用您的 Windows 时间设置时,PHP 的 CLI SAPI 可能正在访问系统时钟以确定时间?这里不太确定。 WAMP/windows 有时使用 PHP 会变得很时髦。如果您在运行时使用
date_default_timezone_set();设置时区,是否会发生同样的事情??? -
我想我明白了,我很惊讶更多的人没有遇到这类问题。 WAMP 有它自己的 PHP.ini 文件,该文件位于 Apache bin DIR 中。然而,PHP.exe 使用的命令外壳默认 PHP.ini 与..PHP.exe 位于同一目录中。愚蠢的 WAMP!
-
另外,通常系统会提供 2 个 php.ini 文件,一个用于命令行,另一个用于 Web 服务器。