OSXでCakePHP3。

2017/2/11
OSX El CapitanでCakePHP3を動かすのに苦労したのでメモ。

■brew
無ければ下記からインストール。
http://brew.sh/index_ja.html

■php5.6インストール
osx標準のphp5.5ではintlビルドエラーになるのでphp5.6を入れる。
php7でもいいと思う。

brew install php56

■intlビルド(ここがハマリどころ)
CakePHPに必要なphpの国際化拡張機能intlをビルドする。
そのためにpear,icu4c,autoconfを準備する。

・pear

cd ~
curl -O http://pear.php.net/go-pear.phar   #スクリプトダウンロード
php -d detect_unicode=0 go-pear.phar       #インストール
export PATH=$PATH:/Users/USERNAME/pear/bin #pearにパスを通す
which pear                                 #パスの確認
→/Users/USERNAME/pear/bin/pear            #ある

・icu4c

brew install icu4c                #インストール
brew link icu4c --force           #これにより brew doctor で warning が出るようになるが、
                                  #intlビルド成功するために必要。

・autoconf

brew install autoconf

・intlビルド

sudo pecl update-channels
sudo pecl install intl           #途中の選択肢はそのままEnter
mdfind -name intl.so             #intl.soが出来たことを確認。

・掃除

brew unlink icu4c                #intlビルド終わったので戻しておく。

・php.iniにintlを設定。

mdfind -name php.ini             #php.iniの場所を調べる。5.5,5.6の複数出る。
which php                        #php5.6の場所を参考に特定。

                                 #エディタでphp.iniを開いて、
;extension=php_intl.dll          #この行を、
extension=intl.so                #こう修正。

php -m | grep intl               #intl.soが組み込まれたことを確認。
→intl                           #ある

■CakePHP3ダウンロード
https://github.com/cakephp/cakephp/tags
バージョンを選び、Downloadsからcakephp-3-x-x.zipを選ぶ。(source codeではないほう)

■CakePHP3実行

cd cakephp-3-x-x
cd config
cp app.default.php app.php       #app.phpを準備。
cd ..
bin/cake server                  #webサーバー実行。

http://localhost:8765            




■mysql
http://qiita.com/hkusu/items/cda3e8461e7a46ecf25d
ここを参考に。

brew install mysql               #インストール
mysql.server start               #サーバー実行
mysql -uroot -p                  #コンソール実行


©