修复Symfony2中的要求

rfc*_*484 10 php apache2 symfony symfony-2.1

我在我的机器上安装了Symfony2.

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

localhost/Symfony2/web/config.php
Run Code Online (Sandbox Code Playgroud)

它说:

主要问题

在php.ini*中设置"date.timezone"设置(如Europe/Paris).

建议

在php.ini*中将short_open_tag设置为off.

在php.ini*中将magic_quotes_gpc设置为off.

  • 必须在"/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 =关闭

双方short_open_tagmagic_quotes_gpc在那里已经设置为关闭,当我检查在php.ini文件.

之后我重新启动了apache2:

sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)

但是我仍然得到相同的错误消息.

我使用Symfony 2.1.2,Ubuntu 12.04和PHP 5.3.6

更新:

如果我从浏览器运行phpinfo(),它会显示它所在的加载配置文件:

/etc/php5/apache2/php.ini
Run Code Online (Sandbox Code Playgroud)

如果我运行php -i | grep php.ini它说它所在的加载配置文件:

/etc/php5/cli/php.ini
Run Code Online (Sandbox Code Playgroud)

这些是我已经进行了更改的两个文件.

我已确保更改已保存在文件中.我也在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,即与浏览器一起工作的问题.

Sha*_*han 6

一定要从/etc/php5/cli/php.ini中删除字符串开头的注释半冒号

来自:

;date.timezone = "America/Vancouver"
Run Code Online (Sandbox Code Playgroud)

至:

date.timezone = "America/Vancouver"
Run Code Online (Sandbox Code Playgroud)


d00*_*001 4

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

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

php app/check.php
Run Code Online (Sandbox Code Playgroud)

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