10

我已经在我的机器上安装了 Symfony2。

当我检查本地网址中的要求时:

localhost/Symfony2/web/config.php

它说:

主要问题

在 php.ini* 中设置“date.timezone”设置(如欧洲/巴黎)。

建议

在 php.ini* 中将 short_open_tag 设置为关闭。

在 php.ini* 中将 magic_quotes_gpc 设置为关闭。

  • 必须在“/etc/php5/apache2/php.ini”中更改 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位置都已设置为关闭。

之后我重新启动了apache2:

sudo service apache2 restart

但是我仍然收到相同的错误消息。

我使用 Symfony 2.1.2、Ubuntu 12.04 和 PHP 5.3.6

更新

如果我从浏览器运行 phpinfo(),它会显示它位于的 Loaded Configuration File:

/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

4 回答 4

6

请务必从 /etc/php5/cli/php.ini 中删除字符串开头的注释分号

从 :

;date.timezone = "America/Vancouver"

到:

date.timezone = "America/Vancouver"
于 2014-10-07T06:36:21.953 回答
4

如果正确完成,您所做的更改应该可以解决您的问题;仔细检查。确保实际保存更改。很多时候,当我在 Ubuntu 中编辑 php.ini 文件时,我忘记使用正确的权限(root)运行编辑器,并且错过了无法保存文件的警告。此外,通过从脚本调用 phpinfo() 来验证更改。

当您从终端运行位于 app/check.php 中的脚本时,您是否得到相同的结果。从项目根目录:

php app/check.php

如果仍然有问题,我只能建议清除缓存;使用 symfony2 可以解决很多问题。

于 2012-10-22T06:30:52.043 回答
1

我也必须设置 date.timezone 变量以响应相同的错误消息。错误消息最终通过运行以下命令清除缓存来解决:

php app/console cache:clear
于 2014-01-09T10:45:33.423 回答
1

你编辑正确的ini文件吗?我正在编辑 /etc/php5/cli/php.ini 并为我解决问题

于 2015-01-26T20:43:51.197 回答