WindowsプログラマのWebアプリへの挑戦日記。あとパンとか。

coreserverでcakePHPを試す

1月 14th, 2008 Posted in cakePHP, PHP

cakePHPの動作環境をレンタルサーバーのcoreserver上に構築します。ローカルでの動作確認はCakePHPをローカルで試すを参照してください。

cakePHPはダウンロードしてきたモジュールを解凍すると、次のようなフォルダ構成になります。

  1. /cakeroot
  2.     /app
  3.         /config
  4.         /controllers
  5.         /models
  6.         /plugins
  7.         /tmp
  8.         /vendors
  9.         /views
  10.         /webroot
  11.         .htaccess
  12.         index.php
  13.     /cake
  14.     /vendors
  15.     .htaccess
  16.     index.php

レンタルサーバーで複数のcakePHPアプリを動作させる場合、容量を節約したいなどの理由でcakePHPのcoreは共通のファイルを参照したいと思って、次のような構成に変更しました。

  1. /virtual/xxx/lib/cake_core
  2.     /cake
  3.     /vendors
  4.    
  5. /virtual/xxx/public_html/caketest.xxx.com/
  6.     /app
  7.         /config
  8.         /controllers
  9.         /models
  10.         /plugins
  11.         /tmp
  12.         /vendors
  13.         /views
  14.         /webroot
  15.         .htaccess
  16.         index.php
  17.     .htaccess
  18.     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の、

  1. define('CAKE_CORE_INCLUDE_PATH', ROOT);

  1. define( 'CAKE_CORE_INCLUDE_PATH', DS.'virtual'.DS.'xxx'.DS.'lib'.DS.'cake_core' );

に変更します。

/virtual/xxx/public_html/caketest.xxx.com/index.phpの

  1. define('CAKE_CORE_INCLUDE_PATH', ROOT);

  1. 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

なんだかファイルの編集する箇所が大幅に間違っていたので訂正しました。

こちらもオススメ!

Trackback URL

Post a Comment