经常浏览我的网站,我可以看到此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
真正的问题是Google正在用该警告索引我的页面...
如标题中指定的,我正在使用Symfony 1.4.18。我该如何解决?
是一个符号错误,还是我可以围绕它进行的php限制?
真正的问题是Google正在用该警告索引我的页面...
在您的生产服务器上,您应该始终具有display_errors = Off
。
- 打开您的php.ini文件。
- 添加display_errors = off
- 重新启动apache
opendir:将PHP可以打开的文件限制为指定的目录-tree,包括文件本身。
检查此答案:open_basedir限制有效。文件(/)不在允许的路径内:
这是一个网络服务器问题,因为您正在尝试访问其他VHOST上的数据。您需要将位置添加到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"
但是,在生产用法中,您应该禁用打印错误。他们应该去日志文件。