Apache 有效的open_basedir限制和子域

Apache 有效的open_basedir限制和子域,apache,yii,Apache,Yii,出于安全原因,我将我的yii文件夹放在html根目录下,因此我的结构如下所示 /conf /httpdocs /httpsdocs /yii 运行站点时,我得到一个错误open_basedir限制,实际上yii.php调用index.php的httpdocs不在允许的路径中。由于此站点是子域,我是否编辑主域或子域的vhosts.conf 正确的设置是什么 /var/www/vhosts/example.com/subdomains/mysubdomain/yii 可访问的路径 编辑 所以

出于安全原因,我将我的
yii
文件夹放在html根目录下,因此我的结构如下所示

/conf
/httpdocs
/httpsdocs
/yii
运行站点时,我得到一个错误open_basedir限制,实际上
yii.php
调用
index.php
httpdocs
不在允许的路径中。由于此站点是子域,我是否编辑主域或子域的
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>
在虚拟主机中:

php_admin_value open_basedir ".:/var/www/vhosts/example.com/subdomains/mysubdomain/httpdocs:/my/own/tmp:/var/www/vhosts/example.com/subdomains/mysubdomain/yii"

我找到了答案。您必须指定不同的模块,否则简单地编辑vhost文件不会有多大效果。这是为了关闭open_basedir,但您可以相应地编辑设置

<Directory /var/www/vhosts/YOURDOMAIN.COM/subdomains/YOUSUBDOMAIN/httpdocs>
  <IfModule sapi_apache2.c>
  php_admin_value open_basedir none
</IfModule>
<IfModule mod_php5.c>
  php_admin_value open_basedir none
  </IfModule>
</Directory>

完整的文章可以在这里找到:

你看了吗:?对于那些仍在挣扎的人,这里有一篇文章帮助我解决了这个问题:
<Directory /var/www/vhosts/YOURDOMAIN.COM/subdomains/YOUSUBDOMAIN/httpdocs>
  <IfModule sapi_apache2.c>
  php_admin_value open_basedir none
</IfModule>
<IfModule mod_php5.c>
  php_admin_value open_basedir none
  </IfModule>
</Directory>
# /usr/local/psa/admin/bin/websrvmng --reconfigure-vhost --vhost-name=YOURDOMAIN.COM
# apachectl stop
# apachectl start