人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

CakePHPで複数のアプリケーションを管理する方法が知りたいです。
http://www.marineroad.com/staff-blog/3159.html
このサイトを参考に以下の設定を行いました。

CakePHP2.0
├─apps
│ ├─admin (管理者者向けアプリ用アプリケーションフォルダ)
│ │ ├─Config
│ │ ├─Console
│ │ ├─Controller
│ │ ├─Lib
│ │ ├─Locale
│ │ ├─Model
│ │ ├─Plugin
│ │ ├─Test
│ │ ├─tmp
│ │ ├─Vendor
│ │ └─View
│ │
│ └─public (一般利用者向けアプリ用アプリケーションフォルダ)
│ ※adminフォルダと構造は同じ

├─lib
│ └─Cake
├─plugins
├─vendors
└─webroot (ドキュメントルート)
├─admin (管理者者向けアプリ用ドキュメントルート)
│ └─index.php

└─public (一般利用者向けアプリ用ドキュメントルート)
└─index.php

しかし、
http://localhost/eigazuki/admin
でアクセスしたところ、
「Internal Server Error」
とエラーが出てしまいます。
どこに問題があるのか全くわからず、ここでアドバイスをいただけましたら幸いです。
どうかよろしくお願いします!

●質問者: ぱんたま
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● パパトモ
●50ポイント

階層構造変更前のCakePHPで動作確認はしましたでしょうか。もしされていないのであれば、面倒でも改造前に動作確認をしてみるのが近道だと思います。

それと、Internal Server Errorに遭遇したときに、最初にするべきことは、Webサーバのログを見る事です。もしログを見ても分からないときには、質問と一緒にログを提示するのが良いと思います。


ぱんたまさんのコメント
素早いご回答ありがとうございます。 階層構造変更前 http://localhost/eigazuki/ ではきちんと動作してくれました。 eigazuki/apps/admin/tmp/error.log を確認すると以下のメッセージが表示されました。 Error: [MissingControllerException] Controller class JsController could not be found. #0 /Applications/MAMP/htdocs/eigazuki/app/webroot/index.php(96): Dispatcher->dispatch(Object(CakeRequest), Object(CakeResponse))

tdoiさんのコメント
app/webroot/index.phpが存在する時点で上記の構造とは違う気がしますが・・・。

パパトモさんのコメント
他の方の指摘通りだと思います。フォルダ構造が問題だと思います。

パパトモさんのコメント
やはり、ログを見れば、大体の問題は解決できるはずですから、エラーが出たらまずログを見る癖をつけた方が良いと思います。その上で、解決できないときは、ログ付きで質問すると解決できると思います。

2 ● tdoi
●50ポイント ベストアンサー

index.phpを見ないと何とも言えないところはありますが、恐らく、ROOT、APP_DIR、CAKE_CORE_INCLUDE_PATHの設定がまずいのだと思います。

実際に試していないので、これで動く場合があるのかもしれませんが、参考にしているブログの内容はちょっと怪しいです。これで動く気がしません。

ROOTは、CakePHP2.0/appsとならなければいけません。
APP_DIRは、admin、または、publicとならなければいけません。
CAKE_CORE_INCLUDE_PATHは、CakePHP2.0/libとならなければいけません。

まずは、このあたりをチェックしてみてください。

上記の構造なら、

define(‘ROOT’, dirname(dirname(__FILE__)) . DS . ‘apps’);
define('APP_DIR', 'admin'); // adminの場合
// define('APP_DIR', 'public'); // publicの場合
define('CAKE_CORE_INCLUDE_PATH', dirname(dirname(__FILE__)) . DS . 'lib');

とかでうまく行くんじゃないかと。
試してないので、微調整いるかもですが。

何かの参考になれば。


ぱんたまさんのコメント
アドバイスありがとうございます! そうなんですか? それはショックです・・・。 tdoi さんのアドバイス通りに早速やってみます!!
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ