修复Symfony2中的要求

时间:2012-10-21 15:28:54

标签: symfony apache2 php symfony-2.1

我在我的机器上安装了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_tagmagic_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只有一个问题,这个问题适用于浏览器。

4 个答案:

答案 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并为我解决问题