【问题标题】:Open_basedir Restriciton while hosting subdomain outside root folder在根文件夹之外托管子域时的 Open_basedir 限制
【发布时间】:2012-08-01 16:53:04
【问题描述】:

好的,我的主目录是 /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 保护?

ma​​inlib.inc 位于 /home/tubzandm/develop/public_html/includes。当我尝试从位于 /home/tubzandm/develop/public_html/cp/lib 中的 functions.php 中要求它时出现错误

【问题讨论】:

    标签: php cpanel open-basedir


    【解决方案1】:

    你不这么认为

    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

    【讨论】:

    • 那很明显你做不到!
    • 你的网站范围从public_html/cp开始,所以你不能包含那个文件。您需要在当前网站范围内复制该文件。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2011-02-28
      • 2021-11-09
      • 1970-01-01
      • 2020-01-03
      • 1970-01-01
      • 2011-02-12
      • 2019-04-01
      • 1970-01-01
      • 2018-06-05
      相关资源
      最近更新 更多