
Ich habe mehrere virtuelle Hosts mit jeweils drei Ordnern. Und einen einzigen freigegebenen Ordner:
/home/website1
/home/website2
/home/website3
/home/shared_src
Symlinks funktionieren einwandfreiinnenJeder Ordner in einen Website-Ordner namens „Codebase“.
Ich habe den Ordner „codebase“ nach /home/shared_src kopiert und möchte einen Symlink verwenden, um von jeder der anderen Websites aus auf /home/shared_src_codebase zuzugreifen. Dabei erhalte ich jedoch:
PHP Fatal error: Cannot redeclare class [patch and class...]
Was muss ich der Apache-Konfiguration hinzufügen, um symbolische Links zum Ordner shared_src außerhalb des Webstamms zuzulassen?
Ich muss dies für Apache auf einemDebian-Server. Ich habe versucht, Alias zu verwenden, wie hier beschrieben. Entweder ist das nicht der Trick, oder ich habe es falsch gemacht: Sicherheit des symbolischen Links zu einem Verzeichnis außerhalb des Webroots auf 777 eingestellt?
Auf einem anderen System, das ich einmal verwendet habe (basierend auf CentOS), hieß die Einstellung PHPBaseDir. Unter Debian weiß ich es nicht ...
UPDATE MIT DETAILLIERTEREN INFOS
Der Fehler wurde hauptsächlich dadurch verursacht, dass der symbolische Link mit einem Ordner verknüpft war, der denselben Namen hatte wie ein physischer Ordner innerhalb des Website-Ordners.
/home/website1/typo3_src-6.2
/home/website/typo3_src -> /home/sharedsource/typo3_src-6.2 (symlink)
Das wurde behoben und jetzt erhalte ich Folgendes im Apache-Protokoll:
[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
Das Problem liegt also wahrscheinlich nicht am symbolischen Link selbst. Der symbolische Link führt zum freigegebenen Ordner. Dies ist der Fehler, der nach der Verwendung des symbolischen Links ausgegeben wird ...
Antwort1
Hierzu gibt es in Apache zwei Möglichkeiten, die Sie unter folgendem Link finden: Apache-Dokumente
Verwenden Sie grundsätzlich entweder den
Option FollowSymlinks
Abschnitt <directory>
oder definieren Sie einen Alias für das Verzeichnis.