向StackOverflow大师致以问候!
这是我正在努力解决的问题.
我在MAMP中运行phpinfo(),结果表在date.timezone行的两列中显示"无值".
此外,该页面显示以下内容:
警告: phpinfo()[function.phpinfo]:依赖系统的时区设置是不安全的.您需要使用date.timezone设置或date_default_timezone_set()函数.如果您使用了这些方法中的任何一种并且仍然收到此警告,则很可能拼错了时区标识符.我们在/Applications/MAMP/bin/mamp/phpinfo.php中选择'America/New_York'作为'EST/-5.0/no DST'
但是在thr php.ini文件中,设置如下:
date.timezone = America/New_York
我预见建议检查php.ini的路径是否正确 - 我已经这样做了,路径确实是正确的:/Applications/MAMP/conf/php5.3/php.ini - 那是一个文件有值设置.
我该如何解决这个问题?我错过了什么?
非常感谢知识渊博的人的帮助.
我知道我可能会有点迟到,但我在一些网站上看到你在MAMP中设置正确的时区.
应该注意,对于您正在使用的php版本,php.ini文件有两个位置.MAMP可以从与您正在编辑的路径不同的路径加载它.
例如,假设我们使用的是php 5.3.这是一个php.ini文件的两个位置,可能会混淆某人编辑的位置.
/Applications/MAMP/bin/php/php5.3/conf/php.ini
Run Code Online (Sandbox Code Playgroud)
你好像在下面的这个位置编辑它:
/Applications/MAMP/conf/php5.3/php.ini
Run Code Online (Sandbox Code Playgroud)
在第二个路径中编辑时区对我来说不起作用,但编辑第一个路径中的时区.可能是您正在编辑错误的文件,即使它看起来一样.我在我的版本上测试了这个.<?php phpinfo(); ?>在php文件中运行并检查php.ini文件的路径将始终显示正确的路径.
还要指出的是,在date.timezone的值周围使用双引号将起作用.例如,在我的php.ini文件中,以下工作正常.
date.timezone = "America/Vancouver"
Run Code Online (Sandbox Code Playgroud)
此外,默认值也用双引号封装.
我在测试时也使用了MAMP 2.1.1版.
如果在相关的php.ini文件中正确设置了时区,并且您仍然收到此消息,则可以尝试设置TZ环境变量.编辑.profile以添加以下行(sub在您自己的时区字符串中):
export TZ="America/New_York"
Run Code Online (Sandbox Code Playgroud)
不确定为什么(a)MAMP会覆盖你的php.ini设置,(b)PHP在使用TZ env变量时不会抛出通知/警告,即使它说它会,但是这个解决方案对我来说使用MAMP 2.0.5用PHP 5.3.6.
| 归档时间: |
|
| 查看次数: |
21216 次 |
| 最近记录: |