我想配置MAMP Symfony2的框架。
在php.ini
我已正确设置date.timezone
,但是,似乎MAMP莫名其妙地覆盖该设置并使用系统时间来代替。
其结果是,交响乐团的config.php
页面发出这样的警告:
警告:date_default_timezone_get()[function.date-默认时区,获取]:这是不是安全的依靠系统的时区设置。 您需要使用date.timezone设置或date_default_timezone_set()函数。 如果您使用的任何这些方法,你仍然得到这样的警告,你最有可能拼错时区标识符。 我们选择“美国/纽约”的“EST / -5.0 /没有DST”,而不是在/Applications/MAMP/htdocs/Symfony/app/SymfonyRequirements.php上线434
Symfony的失败显示起始页直到这已得到修复。 会是什么解决办法吗?
谢谢!
检查是否有两个php.ini
系统中的文件。 您可加入date.timezone
线在其中的一个,但MAMP正在使用其他的。
如果您尝试添加下面一行在你的开始处doesn't工作web/app.php
和web/app_dev.php
文件,(因为错误信息提示):
date_default_timezone_get('Europe/London');
希望能帮助到你。
我还在努力弄清楚为什么和如何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的压倒一切的。
不过,这是一个可行的解决方案。
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"
你在命令行? 原因命令行可能会得到不同的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'
如果你的问题是,如何让在MAMP PRO php.ini文件的改变,尝试编辑模板。
文件 - >编辑模板
您可以手动MAMP,在看到第24页
更多信息是这里
在MAMP 3.0.1 php.ini文件中使用的是相应的PHP目录版本有一个分号它把它变成一个评论,而不是一个命令后公布值date.timezone。 在C中的php.ini:\ MAMP \的conf \ php5.5.12(或你的PHP版本)删除线703分号,并根据指南定义您的本地时间http://php.net/manual/en/timezones。 PHP 。
希望这对你的作品:)
像佩德罗·卢斯所提到的,你必须设置在你的Mac的php.ini中的时区,而不是MAMP的。
不要忘了重新启动Mac的阿帕奇:
sudo /usr/sbin/apachectl restart
该解决方案为我工作:
[OK]
Your system is ready to run Symfony2 projects
文章来源: MAMP / Symfony: MAMP overrides date.timezone setting from php.ini, Symfony fails