coreserverでcakePHPを試す
1月 14th, 2008 Posted in cakePHP, PHPcakePHPの動作環境をレンタルサーバーのcoreserver上に構築します。ローカルでの動作確認はCakePHPをローカルで試すを参照してください。
cakePHPはダウンロードしてきたモジュールを解凍すると、次のようなフォルダ構成になります。
- /cakeroot
- /app
- /config
- /controllers
- /models
- /plugins
- /tmp
- /vendors
- /views
- /webroot
- .htaccess
- index.php
- /cake
- /vendors
- .htaccess
- index.php
レンタルサーバーで複数のcakePHPアプリを動作させる場合、容量を節約したいなどの理由でcakePHPのcoreは共通のファイルを参照したいと思って、次のような構成に変更しました。
- /virtual/xxx/lib/cake_core
- /cake
- /vendors
- /virtual/xxx/public_html/caketest.xxx.com/
- /app
- /config
- /controllers
- /models
- /plugins
- /tmp
- /vendors
- /views
- /webroot
- .htaccess
- index.php
- .htaccess
- index.php
/virtual/xxx/lib/cake_coreは複数のcakePHPアプリで共通とし、アプリごとに/virtual/xxx/public_html/caketest.xxx.com/以下のようにフォルダを構成します。
フォルダ構成を変更したことで次のファイルを編集します。/virtual/xxx/public_html/caketest.xxx.com/app/webroot/index.phpの、
- define('CAKE_CORE_INCLUDE_PATH', ROOT);
を
- define( 'CAKE_CORE_INCLUDE_PATH', DS.'virtual'.DS.'xxx'.DS.'lib'.DS.'cake_core' );
に変更します。
/virtual/xxx/public_html/caketest.xxx.com/index.phpの
- define('CAKE_CORE_INCLUDE_PATH', ROOT);
を
- define( 'CAKE_CORE_INCLUDE_PATH', DS.'virtual'.DS.'xxx'.DS.'lib'.DS.'cake_core' );
に変更します。
これでhttp://caketest.xxx.com/postsにアクセスしちゃんとなにやらエラーがでます。どうやらアクセス権のエラーっぽいので、/virtual/xxx/public_html/caketest.xxx.com/app/tmp/cache/modelsの、default_xxx_caketest_listとdefault_postsの属性を757に変更するとちゃんと表示されました。どうやら、/virtual/xxx/public_html/caketest.xxx.com/app/tmp/cache以下のディレクトリの属性を変更した方が良さそうです。
追記:2008/05/12
なんだかファイルの編集する箇所が大幅に間違っていたので訂正しました。