2015-03-02 140 views
0

我对此很新,所以请和我一起裸露。
有谁知道,如果有可能包含{WEBSPACEROOT} PHP 5.5.22的父目录?open_basedir限制 - php.ini反对Plesk CentOS 6

这是在给定结构不工作与{} WEBSPACEROOT:

var/www/vhosts/mydomain-a/website 
var/www/vhosts/mydomain-a/includepath 
var/www/vhosts/mydomain-b/website 
var/www/vhosts/mydomain-b/includepath 

我想这样:

var/www/vhosts/mydomain-a/website 
var/www/vhosts/mydomain-b/website 
var/www/vhosts/includepath 

我使用的Plesk 12根服务器,并没有能够在Plesk的php面板中解决问题。 php.ini似乎被Plesk忽略。
所以我会一直收到此错误:

open_basedir restriction in effect. File(../../includepath/include.php) is not within the allowed path(s): (/var/www/vhosts/mysite.com/:/tmp/) 

我一直在寻找到这样的建议,但他们似乎对我来说,如果他们将意味着解决的第一个办法:https://www.vimp.com/de/web/faq/items/an-example-of-a-vhostconf-with-plesk.html

谢谢提前

+0

为安全起见,您的服务器软件阻止网站访问其网站根目录之外的文件 - 理论上这是一个好主意。将包含路径保留在Web根目录中,并使用类似'.htaccess'的命令来拒绝该子文件夹中的所有文件。 – 2015-03-02 16:12:39

+0

谢谢Niet,我知道这可能会导致安全问题。 但是,如果我想使用这样的结构或者如果需要打开该网关,您是否知道解决方案? – leopold 2015-03-02 18:15:56

回答

0

您的域的PHP处理程序是否像FastCGI一样工作?

你可以改变域的PHP设置 “的open_basedir” 到

/var/www/vhosts{/}{:}{WEBSPACEROOT}{/}{:}{TMP}{/} 

在此之后在文件:

/var/www/vhosts/system/domain.tld/etc/php.ini 

你会得到:

open_basedir = "/var/www/vhosts/:/var/www/vhosts/domain.tld/:/tmp/" 
+0

感谢Oleg, 我试图改变主php.ini中的设置,但Plesk似乎忽略它。 即使在配置面板中设置为接受标准的php.ini设置。 PHP处理程序的工作方式为Apache-Modul。 – leopold 2015-03-04 11:29:53

+0

Apache模块(mod_php)忽略php.ini,将处理程序切换到FastCGI。 – 2015-03-05 10:52:55

+0

谢谢并对我迟到的回复感到抱歉。你已经帮了我很多,我很欣赏你的快速反应。 我决定离开普莱斯克。我认为,为了我的目的,这个系统将意味着比调整更多的手段:) – leopold 2015-03-17 11:52:26