
私は複数の 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 セーフモードはモデルに含めるべきではありません。
暫定的な対策として、データをデータベースに保存することを検討してください。