0

好的,我的主目录是 /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 并禁用对该域名的保护。但是我们的项目经理对安全性非常挑剔,不希望我们这样做。

有谁知道解决方法?或者一个很好的解释为什么我们应该有 open_basedir 保护?

mainlib.inc 位于 /home/tubzandm/develop/public_html/includes。当我尝试从位于 /home/tubzandm/develop/public_html/cp/lib 中的 functions.php 内部要求该错误时,出现错误

4

2 回答 2

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

于 2012-08-01T16:59:32.990 回答
0

为这个域禁用了 open_basedir 并且它起作用了。对此不满意,但这似乎是唯一可行的解​​决方案

于 2012-08-01T17:48:28.963 回答