2012-11-02 42 views
0

经常浏览我的网站,我可以看到这个PHP的警告:open_basedir的()警告与Symfony1.4

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的bug,或者是一个PHP的一种限制,我可以去它周围?

回答

1

真正的问题是,谷歌索引我的网页与警告...

在生产服务器上,你应该始终有display_errors = Off

  1. 打开你的php.ini文件。
  2. 添加的display_errors =关闭
  3. 重新启动Apache

执行opendir:限制可以通过PHP开到指定的目录树中的文件,包括文件本身。

检查这个答案: open_basedir restriction in effect. File(/) is not within the allowed path(s):

+0

非常感谢......感谢您的意见,我foud,我的站点文件夹中我有一个.htaccess文件(即我之前没有见过)与中显示的错误的字符串。我希望我已经找到并解决了我的错误... – ilSavo

+0

很高兴帮助! –

0

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

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

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