CakePHPのbakeがうまく動かないのでXAMPPをダウングレードしたらなぜか解決した

MacCakePHPをのほほんと勉強中。
ところが、開発環境でbakeが正常に動かない…Bakeを立ち上げるところまでは行くんだけど、Modelのvalidateのところで、フィールド名とバリデーションの種類のリストがダーっと出るべきところで、なぜかスキップして次の質問に行ってしまうのだ。
ググって色々試してみたんだけどうまくいかなくて右往左往する中、XAMPPをダウングレードしたら直ったという意見を見かけた。私はXAMPP for MacOSX 1.7.2aを使っていたのだけど、思い切って1.0.1まで落として再トライしてみたら、無事bakeすることができた。ほくほく。bake楽しいねぇ。これすごいねぇ。感動。
というわけで、XAMPPを再インストールするところからbakeを動かすところまで一通りの手順をメモ。
ちなみに、Cakeは1.2.6を使っています。

XAMPPをアンインストール

まずXAMPPをアンインストール。

sudo rm -rf /Applications/XAMPP

これだけだと、MySQLの色んな残骸が残ってしまっているのでそれらも消す。

sudo rm -rf /usr/local/mysql
sudo rm -rf /Library/StartupItems/MYSQL
sudo rm -rf /Library/PreferencePanes/MySQL.prefPane

XAMPPのバージョンを落として再インストール

XAMPP for MacOSXのダウングレードファイル置き場
前は1.7.2aを使っていたのだけど、その下のバージョンが一気にさかのぼって1.0.1しかなかったので、まぁそんなに変わらんだろうとこいつをインストール。
ちなみに、XAMPP1.0.1は PHP5.3.0 MySQL5.1.33。MySQLがちょっとだけ古いが最新版と環境はそんなに変わらないようです。
で、XAMPPを起動。

sudo /Applications/XAMPP/xamppfiles/xampp start

XAMPPのhtdocsの中にcake一式を入れる。これでCakeのトップページが見れるがそのままだと、tmpのキャッシュが書き込めません的なエラーが出るので、cakeの中の/app/tmp/フォルダのパーミッションを777(誰でも読み書きできる状態)にする。
Macだったら、
/app/tmp/のフォルダを選択 > 「情報を見る」 > 「共有とアクセス権」を3項目全部「読み/書き」にする > 「内包している項目に適用」
でOK。

#イケメンプログラマから、なんでそこだけGUIやねんwというありがたいツッコミが入ったので追記。コマンドなら下記でいけます。

chmod -R 777 /Applications/XAMPP/xamppfiles/htdocs/.../app/tmp

これでBake成功。もりもり焼けます!ひゃっほう楽しい!
ちなみにド素人なので、何か間違ってるところとか、なぜ最新版で動かなかったかとか、親切な方教えて下さい。。

ちなみに、Cakeの勉強にはこの本使っています。これマジでいい本。わかりやすく親切に噛み砕いて書いてくれてあるので、プログラム初心者でもわりと抵抗なく入っていけます。


オープンソース徹底活用 CakePHPによるWebアプリケーション開発
掌田 津耶乃
秀和システム
売り上げランキング: 72095
おすすめ度の平均: 5.0
5 初心者向け
5 深く書かれていて便利である