
複数の仮想ホストと各フォルダがあります。そして、共有フォルダが 1 つあります。
/home/website1
/home/website2
/home/website3
/home/shared_src
シンボリックリンクは正常に動作します内部各フォルダーを「codebase」と呼ばれる Web サイトごとのフォルダーに移動します。
フォルダー「codebase」を /home/shared_src にコピーし、シンボリックリンクを使用して他の各 Web サイトから /home/shared_src_codebase にアクセスしたいと考えています。 しかし、これを実行すると次のようになります:
PHP Fatal error: Cannot redeclare class [patch and class...]
Web ルート外の shared_src フォルダーへのシンボリック リンクを許可するには、Apache 構成に何を追加すればよいですか?
私はApacheでこれをする必要がありますDebian サーバーここで説明されているようにエイリアスを使用しようとしました。これはトリックではないか、または私が間違っていたかのどちらかです。 Webroot 外部のディレクトリへのシンボリックリンクのセキュリティは 777 に設定されていますか?
私が以前使用した別のシステム (CentOS ベース) では、この設定は PHPBaseDir と呼ばれていました。Debian ではわかりません...
より詳細な情報を更新
主なバグは、Web サイト フォルダー内の物理フォルダーと同じ名前のフォルダーにリンクされているシンボリック リンクによって発生しました。
/home/website1/typo3_src-6.2
/home/website/typo3_src -> /home/sharedsource/typo3_src-6.2 (symlink)
それは修正され、Apache ログに次のように表示されます:
[Wed Jan 15 09:48:17 2014] [error] [client xx.xx.xx.xx] PHP Fatal error: require_once(): Failed opening required '/home/cstmr_opengate/band.opengate.dk/website/typo3_src-6.2.0beta3/typo3/sysext/core/Resources/PHP/TYPO3.Flow/Classes/TYPO3/Flow/Package/PackageManager.php' (include_path='/home/cstmr_opengate/band.opengate.dk/website/typo3/contrib/pear/:.:/usr/share/php:/usr/share/pear') in /home/x_src/typo3_src-6.2.0beta3/typo3/sysext/core/Classes/Core/ClassLoader.php on line 178
したがって、問題はおそらくシンボリックリンク自体ではありません。シンボリックリンクは共有フォルダーにたどり着くためです。これは、シンボリックリンクが使用された後にスローされるエラーです...
答え1
これを行うには Apache で 2 つの方法があり、次のリンクで確認できます。 Apache ドキュメント
基本的には、 セクションOption FollowSymlinks
で を使用する<directory>
か、ディレクトリへのエイリアスを定義します。