0

经常浏览我的网站我可以看到这个 php 警告:

Warning: is_readable(): open_basedir restriction in effect. File(/var/www/vhosts/<my site>/httpdocs/apps/frontend/modules/.sf/config/config_handlers.yml) is not within the allowed path(s): (/var/www/vhosts/<my site>/httpdocs/:/tmp/) in /var/www/vhosts/<my site>/httpdocs/lib/vendor/symfony/lib/config/sfConfigCache.class.php on line 305

真正的问题是谷歌正在用那个警告索引我的页面......

如标题中所述,我使用的是 Symfony 1.4.18。我该如何解决?

它是一个 Symfony 错误,还是一种我可以绕过的 PHP 限制?

4

2 回答 2

1

真正的问题是谷歌正在用那个警告索引我的页面......

在您的生产服务器上,您应该始终拥有display_errors = Off.

  1. 打开你的 php.ini 文件。
  2. 添加 display_errors = Off
  3. 重启阿帕奇

opendir:限制PHP可以打开的文件到指定的目录树,包括文件本身。

检查这个答案: open_basedir 限制生效。文件(/)不在允许的路径内:

于 2012-11-02T08:55:27.913 回答
0

这是一个网络服务器问题,因为您试图访问不同虚拟主机上的数据。您需要将位置添加到 open_basedir。您应该在 /var/www/vhosts//config/vhosts.conf 下找到一个配置文件。您可以添加要访问的新位置或禁用 open_basedir 限制。要添加新位置,只需编辑 open_basedir 部分(示例):

php_admin_value open_basedir "/var/www/vhosts/domain.com/httpdocs:/tmp:/new/path/comes/here"

但在生产性使用中,您应该禁用打印错误。他们应该去例如日志文件。

于 2012-11-02T09:07:12.427 回答