It's raining cats and dogs.

無駄なことなんてないはず

PHP5.4のビルトインサーバーでCakePHP2.2でブログチュートリアルをやってみる。

Railsをやっていた人間的には、PHPでの代替品としてCakePHPあたりが良さげな感じらしいけど、昔CakePHP1以前くらいのときにbakeコマンドというのを使ってジェネレータがアレだなという印象を持ったまま、なんとなく避けて通ってきたCakePHPになぜだか向き合って見ることにしてみた。
とりあえずチュートリアル的なものをやってみようと思って

ブログチュートリアル

この辺りを始めたけど早速ハマったのでメモ。
環境的には覚えたてのPHP5.4ビルトインサーバーでチュートリアルを進めました。(webサーバーの設定とかめんどいし。)

まずはCakePHPを落としてきて、ビルトインサーバーを起動するとそれっぽい設定値をチェックするような画面がそれっぽいデザインがあたって見れたのでよしよしとおもっていたら

Postビューの作成

で事前に登録したブログ記事の一覧を出す所で、さっきまでそれっぽいデザインがあたっていたのにCSSや画像が表示されていない。ソースをみてみるとcssのパスが

/index.php/posts/css/cake.generic.css

みたいになっててビルトインサーバーでやっているからhtaccessやmod_rewriteが効かないせいかなと思っていろいろググったら

http://www.1x1.jp/blog/2011/12/cakephp_on_php54_builtin_web_server.html
http://tipshare.info/view/4e8caaa04b21222815000001

こんな情報があってそのままでうまくいくのか行かないのか、よくわからず、というかうまく動かず。で、結局泥臭くソースを追うかとヘルパー周りのコードを読んでいたんだけど疲れてきたのでダラダラチュートリアル読み直していたらなんかそれっぽいこと書いてあるし。

mod_rewriteについて

ここに書いてあるようにmod_rewriteとhtaccessが使えないときは、app/Config/core.phpの97行目あたり

//Configure::write('App.baseUrl', env('SCRIPT_NAME'));

のコメントアウト外したらうまくCSSとか見てくれるようになりました。

チュートリアルはちゃんと読みましょうねって話。(というかエントリポイントのindex.phpのコメントとかにも書いてあるし。。。)