5

我正在尝试在 MAMP 中配置 Symfony2 框架。

但是,在php.iniI have correct setdate.timezone中,MAMP 似乎以某种方式覆盖了设置并改为使用系统时间。

因此,Symphony 的config.php页面会发送以下警告:

警告:date_default_timezone_get() [function.date-default-timezone-get]:依赖系统的时区设置是不安全的。您需要使用 date.timezone 设置或 date_default_timezone_set() 函数。如果您使用了这些方法中的任何一种,但仍然收到此警告,您很可能拼错了时区标识符。我们在第 434 行的 /Applications/MAMP/htdocs/Symfony/app/SymfonyRequirements.php 中为“EST/-5.0/no DST”选择了“America/New_York”

Symfony 在解决此问题之前无法显示起始页。解决方案是什么?

谢谢!

4

7 回答 7

2

检查您的系统中是否有两个php.ini文件。您可能会date.timezone在其中一个中添加该行,但 MAMP 正在使用另一个。

如果这对您不起作用,请尝试在web/app.phpweb/app_dev.php文件的开头添加以下行(如错误消息所示):

date_default_timezone_get('Europe/London');

希望能帮助到你。

于 2012-11-28T03:07:38.910 回答
2

我仍在努力找出 MAMP 覆盖 php.ini date.timezone 设置的原因和方式,但是,我在 Symfony php 文件中找到了快速修复解决方案,它至少现在解决了这个问题。

我添加了以下代码:

date_default_timezone_set ('America/New_York');

-- 在 Symfony 的 config.php 和 app_dev.php 文件的顶部,紧跟在开始的 php 标签之后,在脚本的最顶部。这消除了警告信息,并使 Symfony 能够在 MAMP 上工作。

我预见到必须在 Symfony 中的其他一些 php 文件中添加相同的代码,因为我一直在修改它,这应该不是问题。或者我可能会弄清楚如何覆盖 MAMP 的覆盖。

不过,这是一个可行的解决方案。

于 2012-12-10T21:32:53.500 回答
1
  • 复制

cp /etc/php.ini.default /etc/php.ini

  • 更改权限

chmod -R 775 /etc/php.ini

  • 编辑

sudo vi /etc/php.ini

  • 搜索date.timezone并将其更改为(示例):

date.timezone = "Europe/London"

于 2015-02-04T23:07:22.837 回答
0

你在命令行吗?因为命令行可能会得到与 MAMP 不同的 php.ini。

要从命令行查看哪个是您的 php.ini,您可以执行以下操作:

$ php -i | grep 'Configuration File'

(参考:如何找到命令行使用的php.ini文件?

尝试在“/etc/php.ini”中设置“date.timezone”,或者它所说的任何地方都是您的 php.ini 文件。

您还可以更改 php.ini 文件:

$ php -help | grep "php.ini"
  -c <path>|<file> Look for php.ini file in this directory

像...

$ php -c /Applications/MAMP/conf/php5.5.14/php.ini ...

例如:

$ php -c /Applications/MAMP/conf/php5.5.14/php.ini -i | grep 'Configuration File'
于 2014-09-25T18:14:13.333 回答
0

如果您的问题是如何在 MAMP PRO 上更改 php.ini 文件,请尝试编辑模板。

文件 -> 编辑模板

您可以在 MAMP 手册第 24 页中看到

更多信息在这里

于 2014-09-26T16:36:32.880 回答
0

在 MAMP 3.0.1 中,您正在使用的相应 php 文件夹版本中的 php.ini 文件的值 date.timezone 在分号后声明,这会将其转换为注释而不是命令。在 C:\MAMP\conf\php5.5.12(或您的 php 版本)中的 php.ini 中,删除第 703 行中的分号并根据指南http://php.net/manual/en/timezones 定义您的本地时间。 .php _

希望这对你有用:)

于 2014-10-15T11:47:38.780 回答
0

就像 Pedro Luz 提到的,你必须在你的 mac 的 php.ini 而不是 MAMP 中设置时区。

不要忘记重新启动你的 mac 的 apache:

sudo /usr/sbin/apachectl restart

这个解决方案对我有用:

[OK]                                          
 Your system is ready to run Symfony2 projects 
于 2015-12-25T17:13:44.277 回答