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

Disabled open_basedir for this domain and it worked. Not happy with that but it seems to be only workable solution

于 2012-08-01T17:48:28.963 に答える
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 に答える