【发布时间】:2011-09-07 03:19:24
【问题描述】:
出于安全原因,我将 yii 文件夹放在 html 根目录下,所以我的结构如下所示
/conf
/httpdocs
/httpsdocs
/yii
运行该站点时,我收到一个错误 open_basedir 限制,实际上是由 index.php 调用的 httpdocs 中的 yii.php 不在允许的路径中。因为这个站点是一个子域,我应该编辑主域的vhosts.conf还是子域?
允许的正确设置是什么
/var/www/vhosts/example.com/subdomains/mysubdomain/yii
要访问的路径?
编辑
所以我的/var/www/vhosts/example.com/conf/vhost.conf 文件现在看起来像这样:
AddHandler fcgid-script .php
<Directory /var/www/vhosts/example.com/httpdocs>
php_admin_value open_basedir ".:/var/www/vhosts/example.com/subdomains/mysubdomain/httpdocs:/tmp/:/var/www/vhosts/example.com/subdomains/mysubdomain/yii"
FCGIWrapper /var/www/vhosts/example.com/bin/php-cgi .php
Options +ExecCGI +FollowSymLinks
allow from all
</Directory>
我已经重新配置并重新启动了网络服务器,但我仍然收到错误:
Warning: require_once() [function.require-once]: open_basedir restriction in effect.
File(/var/www/vhosts/example.com/subdomains/mysubdomain/httpdocs/../yii/yii.php) is not within the allowed path(s):
(/var/www/vhosts/example.com/subdomains/mysubdomain/httpdocs:/tmp)
in /var/www/vhosts/example.com/subdomains/mysubdomain/httpdocs/index.php on line 26
【问题讨论】:
-
对于那些仍在苦苦挣扎的人来说,这篇文章帮助我解决了这个问题:prattski.com/2008/09/13/plesk-open_basedir-fix