nginxサーバー(nginx 1.0.5、fastcgi経由のphp5-fpm)に2つの完全に分離されたcakePHP-Environmentsをセットアップする必要がありました。
次のフォルダ構造を作成しました。
/var/www
/**virtual1**/
/app
/lib/Cake/..
/**virtual2**/
/app
/lib/Cake/..
これで、virtual1.mydomain.comを呼び出すと、フロントエンドアプリが表示され、使用できるようになりました。しかし、virtual2.mydoamin.comを呼び出すと、奇妙なエラーが発生します(virtual2にvirtual1のファイルの一部が含まれている場合など)。Virtual1はとにかく機能しています。
次に、ブラウザのキャッシュとCookieをクリアして、リロードし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を実行するのですか-インストールは、他のインストールのたびにファイルを取得しようとします
そして、なぜこれはキャッシュとクッキーをクリアした後に毎回変わるのですか?