
У меня есть несколько виртуальных хостов с каждой папкой. И одна общая папка:
/home/website1
/home/website2
/home/website3
/home/shared_src
Симлинки работают отличновнутрикаждая папка в папку веб-сайта, называемую «codebase».
Я скопировал папку "codebase" в /home/shared_src и хотел бы использовать символическую ссылку для доступа к /home/shared_src_codebase с каждого из других веб-сайтов. Но когда я это делаю, я получаю:
PHP Fatal error: Cannot redeclare class [patch and class...]
Что мне следует добавить в конфигурацию Apache, чтобы разрешить символические ссылки на папку shared_src за пределами корневого каталога?
Мне нужно сделать это для Apache насервер Debian. Я пробовал использовать псевдоним, как описано здесь. Либо это не тот трюк, либо я сделал это неправильно: Безопасность символической ссылки на каталог за пределами webroot установлена на 777?
На другой системе, которую я когда-то использовал (на базе CentOS), эта настройка называлась PHPBaseDir. На Debian я не знаю...
ОБНОВЛЕНИЕ С БОЛЕЕ ПОДРОБНОЙ ИНФОРМАЦИЕЙ
Основная ошибка была вызвана тем, что символическая ссылка была связана с папкой, названной так же, как и физическая папка внутри папки веб-сайта.
/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, которые можно найти по следующей ссылке: Документация Apache
По сути, либо используйте
Option FollowSymlinks
в <directory>
разделе, либо определите псевдоним для каталога.