我在我的机器上安装了Symfony2。
当我检查本地网址中的要求时:
localhost/Symfony2/web/config.php
它说:
主要问题
在php.ini *中设置“date.timezone”设置(如欧洲/巴黎)。
建议
在php.ini *中将short_open_tag设置为off。
将magic_quotes_gpc设置为off in 的php.ini *
- 对php.ini文件的更改必须在“/etc/php5/apache2/php.ini”中完成。
我已在/etc/php5/apache2/php.ini
和/etc/php5/cli/php.ini
中进行了必要的更改:
date.timezone =“欧洲/马德里”
short_open_tag =关
magic_quotes_gpc =关
当我检查php.ini文件时,short_open_tag
和magic_quotes_gpc
都已设置为Off。
之后我重新启动了apache2:
sudo service apache2 restart
但是我仍然收到相同的错误消息。
我使用Symfony 2.1.2,Ubuntu 12.04和PHP 5.3.6
更新:
如果我从浏览器运行phpinfo(),它会显示它所在的加载配置文件:
/etc/php5/apache2/php.ini
如果我运行php -i | grep php.ini
,它会显示它所在的加载配置文件:
/etc/php5/cli/php.ini
这些是我已经进行了更改的两个文件。
我已确保更改已保存在文件中。我也在php文件中使用了phpinfo()并在浏览器中执行它。它表示未设置date.timezone的值,并且magic_quotes_gc和short_open_tag设置为On。
如果我执行php app/check.php
,则要求已得到解决,因此我认为/etc/php5/cli/php.ini
它正常工作且/etc/php5/apache2/php.ini
只有一个问题,这个问题适用于浏览器。
答案 0 :(得分:6)
请务必从/etc/php5/cli/php.ini中删除字符串开头的注释半冒号
来自:
;date.timezone = "America/Vancouver"
要:
date.timezone = "America/Vancouver"
答案 1 :(得分:4)
如果操作正确,您所做的更改应该可以解决您的问题。仔细检查一下。确保实际保存更改。很多时候,当我在Ubuntu中编辑php.ini文件时,我忘记使用正确的权限(root)运行编辑器,并且错过了无法保存文件的警告。另外,通过从脚本调用phpinfo()来验证更改。
当你从终端运行app / check.php中的脚本时,你得到的结果是否相同?从项目根目录:
php app/check.php
如果仍有问题,我可以建议清除缓存;使用symfony2可以解决很多问题。
答案 2 :(得分:1)
我也必须设置date.timezone变量以响应相同的错误消息。 最后通过运行以下命令清除缓存来解决错误消息:
php app/console cache:clear
答案 3 :(得分:1)
你编辑正确的ini文件吗? 我正在编辑/etc/php5/cli/php.ini并为我解决问题