MAMP / PHP.INI:“date.timezone”在设定的phpinfo()表示“无值”,

2019-08-03 18:54发布

问候StackOverflow的大师!

下面是我挣扎的问题。

我运行MAMP phpinfo()函数,并将得到的表显示了date.timezone行的两列“没有价值”。

此外,该页面显示如下:

警告:phpinfo()函数[function.phpinfo]:这是不是安全的依靠系统的时区设置。 您需要使用date.timezone设置或date_default_timezone_set()函数。 如果您使用的任何这些方法,你仍然得到这样的警告,你最有可能拼错时区标识符。 我们/Applications/MAMP/bin/mamp/phpinfo.php选择“美国/纽约”的“EST / -5.0 /没有DST”,而不是

在THR php.ini文件,但是,设置如下:

date.timezone =美国/纽约

我预见的建议,检查路径为php.ini是正确的 - 我已经这样做了,并且路径确实是正确的:/Applications/MAMP/conf/php5.3/php.ini - 这是文件有设置的值。

我怎样才能解决这个问题? 我在想什么?

将是从一个知识渊博的人的帮助表示感谢。

Answer 1:

如果时区在相关的php.ini文件中设置正确,但您仍然收到此消息,您可以尝试设置您的TZ环境变量。 编辑.profile文件中添加以下行(子在自己的时区的字符串 ):

export TZ="America/New_York"

不知道为什么(一)MAMP覆盖你的php.ini中,(B)PHP不使用,即使它说,它将TZ环境变量时抛出一个通知/警告,但这个解决方案使用MAMP 2.0.5为我工作用PHP 5.3.6。



Answer 2:

我知道我可能是有点晚在回答这一点,但我看你是问有关在MAMP设置正确的时区几个站点。

应当指出的是,也有针对PHP的版本,您使用的php.ini文件的两个位置。 甲基苯丙胺可以从不同的路径,那么你正在编辑的一个被加载它。

例如,让我们说,我们正在使用PHP 5.3。 下面是一些可能混淆对要编辑的一个人一个php.ini文件的两个位置。

/Applications/MAMP/bin/php/php5.3/conf/php.ini

你似乎在下面这个位置被编辑它:

/Applications/MAMP/conf/php5.3/php.ini

在第二条路径编辑时区,我没有工作,但编辑一个在第一个做到了。 这可能是因为您正在编辑了错误的文件,即使它看起来是一样的。 我已经在我的版本测试这一点。 运行<?php phpinfo(); ?> <?php phpinfo(); ?>在PHP文件和检查php.ini文件的路径将始终显示正确的路径。

也只是想指出,使用围绕date.timezone值双引号将工作。 例如,在我的php.ini文件中的以下工作。

date.timezone = "America/Vancouver"

也是默认值在双引号封装为好。

我还使用MAMP 2.1.1版测试这个出来的时候。



Answer 3:

请注意,有在/应用程序/ MAMP / conf目录不同版本的PHP。 您应该检查你正在使用的版本为甲基苯丙胺 - >首选项 - >选项卡“PHP”

如果设置为5.4.4,必须访问/Applications/MAMP/conf/php5.4.4/php.ini

@编辑

在终端这个运行:

sed -i '$ a\date.timezone = "America/New_York"' /Application/MAMP/conf/php{5.4.4,5.2.17,5.3.13,5.3.14,5.3.5,5.4.3}/php.ini

要么

sed -i 's/date.timezone = "Europe/Berlin"/date.timezone = "America/New_York"/g' /Application/MAMP/conf/php{5.4.4,5.2.17,5.3.13,5.3.14,5.3.5,5.4.3}/php.ini


Answer 4:

如果这个错误在PHP中的终端使用CLI显示出来,它可能是与本地VS MAMP PHP碰撞的问题。

MacOS X系统自带的预安装自己的PHP版本,这就是在shell当你键入运行php 。 甲基苯丙胺的PHP配置是分开的预安装PHP配置:改变MAMP PHP时区设置不影响你在CLI看到的 - 因此,时区错误仍然存​​在。 一个快速的方法来检查是运行which php -如果你没有看到的路径开始/Applications/MAMP/...您需要调整您的环境。

为了做到这一点,编辑.profile (或bash RC文件)的文本文件,这行添加到它:

export PATH="/Applications/MAMP/bin/php5.5.3/bin:$PATH"

调整上述路径指向你想要的MAMP PHP安装。 然后运行:

. ~/.profile
hash -r

这将立即应用更改路径(否则你需要打开一个新的终端窗口以应用更改)。 第二个命令只是一个bash命令行清除缓存命令。

作为最后的检查,可运行which php验证的PHP安装路径正在使用。 希望这可以帮助!



Answer 5:

在Ubuntu 13.10使用PHP 5.5.3打开你的终端,做

cd /

sudo find -name php.ini

它显示了我两个文件的php.ini它的结果:

 ./etc/php5/apache2/php.ini
    ./etc/php5/cli/php.ini

打开使用sudo这两个文件,我使用nano

sudo nano /etc/php5/apache2/php.ini

找到并修改该行:

;date.timezone =

并更改为:

date.timezone = America/Caracas

保存并关闭此文件并编辑另一个

sudo nano /etc/php5/cli/php.ini

找到并修改该行:

;date.timezone =

并更改为:

date.timezone = America/Caracas

保存并关闭并重新启动Apache与

sudo service apache2 restart

这个对我有用!!!



Answer 6:

grep -lr "Berlin" * | xargs sed -i .backup -e 's#Europe/Berlin#America/New_York#g'

上面的命令需要一些技巧在我的情况。 这将创建一个备份的文件。



文章来源: MAMP / PHP.INI: “date.timezone” setting in phpinfo() shows “no value” even though the value is set in php.ini
标签: mamp php