Мне нужно было установить две полностью разделенные среды cakePHP на моем nginx-сервере (nginx 1.0.5, php5-fpm через fastcgi).
Я создал следующую структуру папок:
/var/www
/**virtual1**/
/app
/lib/Cake/..
/**virtual2**/
/app
/lib/Cake/..
Теперь, когда я звоню на virtual1.mydomain.com, я вижу свое интерфейсное приложение и могу его использовать.Но когда я вызываю virtual2.mydoamin.com, я получаю странные ошибки (например, когда virtual2 включает в себя некоторые файлы virtual1 ..) Virtual1 все равно работает.
Теперь я очищаю кеш браузера и мои куки и перезагружаюсьvirtual2.mydomain.com
.Теперь я могу использовать это приложение без проблем, НО virtual1.mydomain.com
показывать странные ошибки.
Хорошо - теперь я ограничил каждый хост своим собственным каталогом, используя open_basedir.Результат:
Warning: include(): open_basedir restriction in effect. File(/var/www/virtual1/lib/Cake/Cache/Engine/FileEngine.php) is not within the allowed path(s): (/var/www/taskees:/usr/share/php5:/tmp:/usr/share/phpmyadmin:/etc/phpmyadmin:/var/lib/phpmyadmin) in /var/www/virtual2/lib/Cake/Core/App.php on line 505
Warning: include(/var/www/virtual1/lib/Cake/Cache/Engine/FileEngine.php): failed to open stream: Operation not permitted in /var/www/virtual2/lib/Cake/Core/App.php on line 505
Warning: include(): Failed opening '/var/www/virtual1/lib/Cake/Cache/Engine/FileEngine.php' for inclusion (include_path='/var/www/virtual2/lib:.:/usr/share/php:/usr/share/pear') in /var/www/virtual2/lib/Cake/Core/App.php on line 505
Warning: include(): open_basedir restriction in effect. File(/var/www/virtual1/lib/Cake/Core/CakePlugin.php) is not within the allowed path(s): (/var/www/taskees:/usr/share/php5:/tmp:/usr/share/phpmyadmin:/etc/phpmyadmin:/var/lib/phpmyadmin) in /var/www/virtual2/lib/Cake/Core/App.php on line 505
Warning: include(/var/www/virtual1/lib/Cake/Core/CakePlugin.php): failed to open stream: Operation not permitted in /var/www/virtual2/lib/Cake/Core/App.php on line 505
Warning: include(): Failed opening '/var/www/virtual1/lib/Cake/Core/CakePlugin.php' for inclusion (include_path='/var/www/virtual2/lib:.:/usr/share/php:/usr/share/pear') in /var/www/virtual2/lib/Cake/Core/App.php on line 505 Fatal error: Class 'CakePlugin' not found in /var/www/virtual2/app/Config/bootstrap.php on line 67
Редактировать: Я получаю те же ошибки при вызове этих страниц с другого компьютера, работающего на другом интернет-соединении: (
окей -Почему, черт возьми, эти CakePHP-Установки пытаются получить файлы из каждой другой установки
И ПОЧЕМУ ЭТО ИЗМЕНЯЕТСЯ ВСЕГДА ПОСЛЕ УДАЛЕНИЯ КЭША И КУКИ?