Open_basedir在根文件夹外部托管子域时的限制

时间:2012-08-01 16:53:05

标签: php cpanel open-basedir

好的我的主目录是/ home / tubzandm

我的实时网站的根文件夹是/ home / tubzandm / public_html

我们的开发网站是/ home / tubzandm / develop / public_html

域名dev.tubzandmore.com指向/ home / tubzandm / develop / public_html

域名cp.dev.tubzandmore.com指向/ home / tubzandm / develop / public_html / cp

当我在cp.dev.tubzandmore.com托管的脚本尝试调用require_once时,我得到:

Warning: require_once() [function.require-once]: open_basedir restriction in effect. File(/home/tubzandm/develop/public_html/includes/mainlib.inc) is not within the allowed path(s): (/home/tubzandm/develop/public_html/cp:/usr/lib/php:/usr/local/lib/php:/tmp) in /home/tubzandm/develop/public_html/cp/lib/functions.php on line 4

第4行的functions.php中的代码说

require_once('/home/tubzandm/develop/public_html/includes/' . 'mainlib.inc');

我们使用Apache DSO样式指令。

当然,我可以进入PHP open_basedir Tweak并禁用该域名的保护。但我们的项目经理对安全性非常挑剔,并不希望我们这样做。

有没有人知道解决方法?或者我们为什么SHOULDNT有open_basedir保护?

mainlib.inc位于/ home / tubzandm / develop / public_html / includes中。当我尝试从/ home / tubzandm / develop / public_html / cp / lib

中的functions.php内部要求时,我收到错误

2 个答案:

答案 0 :(得分:0)

你不觉得这个

require_once('/home/tubzandm/develop/public_html/includes/' . 'mainlib.inc');

应该是

require_once('/home/tubzandm/develop/public_html/cp/includes/' . 'mainlib.inc');

正如您所说,cp.dev.tubzandmore.com域名指向/home/tubzandm/develop/public_html/cp

答案 1 :(得分:0)

为此域禁用open_basedir并且它有效。不满意,但它似乎只是可行的解决方案