セーフモード制限が有効です。スクリプトは uid が所有するディレクトリにアクセスできません

セーフモード制限が有効です。スクリプトは uid が所有するディレクトリにアクセスできません

私は複数の Web サイトを持つ専用サーバーを運営しています。すべての Web サイトの共通スクリプトを各 Web サイトのディレクトリに繰り返すのではなく、すべての Web サイトに共通するスクリプト用のグローバル ディレクトリを作成しました。

このグローバル ディレクトリをすべての Web サイトからアクセス可能にするにはどうすればよいでしょうか。次のエラーが発生します。

Warning: require_once() [function.require-once]: SAFE MODE Restriction in effect. The script whose uid is XXXX is not allowed to access /vhosts/globallibrary/Zend/Application.php owned by uid XXXX

X Web サイトのグローバル ディレクトリの所有権を変更しました。そのため、X Web サイトでは正常に動作します。その後、別の Web サイト Y を追加しましたが、今度は同じエラーが発生します。Y Web サイトの CHOWN を変更すると、X Web サイトでも同じエラーが発生します。

セーフモードの制限を無効にしたくありません。このグローバル ディレクトリがすべての Web サイトからアクセス可能になるように回避策はありますか。

グローバル ディレクトリにアクセスしようとすると、ブラウザーに次のエラーが表示されます。グローバル ディレクトリは、他のすべての Web サイトと同じレベルにあります。

ウェブサイトのセーフモードを有効にするのは良い方法でしょうか?

答え1

セーフモードインクルードディレクトリセーフモードで使用するインクルードディレクトリを設定でき、セーフモードの制限を回避します(回避するはずです)。

ただし、セーフ モードは非推奨であり、共有ホスティングを提供している場合を除き、使用すべきではありません。ただし、共有ホスティングを提供している場合でも、よりよい方法があります。

答え2

セーフモードの制限を無効にしたくない

なぜだめですか?

非推奨になったのには十分な理由があります。

ウェブサイトのセーフモードを有効にするのは良い方法でしょうか?

いいえ。

セキュリティ モデルの設計は、ここで合理的に処理できる範囲をはるかに超えますが、PHP セーフモードはモデルに含めるべきではありません。

暫定的な対策として、データをデータベースに保存することを検討してください。

関連情報