masayuki5160's diary

名古屋でWeb系エンジニアしてます。

CakePHPでHelloWorldまで

ひとまずHelloWorldできたのでメモ。

一番はまったのは結局Cakeというより、mod_rewriteの設定。
mod_rewriteのログをだしつついろいろ試したがうまくいかず悩んでたら、
前日にいれた"RewriteBase" の設定が余計だったことが判明w

Macのローカルで環境をつくってたのですが、
OS X 10.8 Mountain Lion からWeb共有がなくほかの人がやっている環境と少し違っていたよう。。
※もう少しApacheに詳しければすぐ気づいたのしょうが、さっぱりわかりませんでしたw

というわけで結局Cakeは

1.ダウンロードしてきたフォルダごと公開ディレクトリにコピペ
2. app/tmp/cache/の権限変更

$ chmod -R o+w app/tmp/cache/

3.mod_rewriteの設定と.htaccess有効化

だけでokだったぽい。
はまりまくったので勉強になりました。





HelloWorldするのに必要なソースは下記。

app/Controller/HelloController


/**
* Created by JetBrains PhpStorm.
* User: masayuki5160
* Date: 2013/05/05
* Time: 21:16
* To change this template use File | Settings | File Templates.
*/

class HelloController extends AppController {
public $name = 'Hello';
public $uses = null;
public $autoRender = true;

public function index(){
//echo "Hello World!";
}
}



app/View/Hello/index.ctp にHelloなど適当に。
タグとかヘッダーはいりません。



strtotimeエラーがでているときはcore.phpの設定を直せば大丈夫でした。
(date_default_timezone_set('UTC');のコメントアウトはずすだけ)
app/Config/core.php

/**
* Uncomment this line and correct your server timezone to fix
* any date & time related errors.
*/
date_default_timezone_set('UTC');






参考
mod_rewriteデバッグするときに便利なログを出力する方法
http://www.ideaxidea.com/archives/2010/04/mod_rewrite_tips.html

CakePHP+PHP5.3でstrtotimeエラー
http://techracho.bpsinc.jp/baba/2009_11_25/664

OS X 10.8 Mountain Lion 向け、Web共有を手動で有効にする方法
http://tukaikta.blog135.fc2.com/blog-entry-211.html

CakePHP2がURLをどうパースしてるか確認してみた
http://kanonji.info/blog/2013/04/23/cakephp2%E3%81%8Curl%E3%82%92%E3%81%A9%E3%81%86%E3%83%91%E3%83%BC%E3%82%B9%E3%81%97%E3%81%A6%E3%82%8B%E3%81%8B%E7%A2%BA%E8%AA%8D%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F/