LoginSignup
4
3

More than 5 years have passed since last update.

FuelPHP on MAMP

Last updated at Posted at 2012-09-18

FuelPHP を MAMP 環境でテストする時にハマった所を少しご紹介します。

curl get.fuelphp.com/oil | sh

いきなりしょっぱなですが、スーパーユーザーでないと動かない事にご注意ください。それに、気づかずごにょごにょやっていたら oil からhtmlがこぼれて来ておかしくなってしまいました。この1行のインストールコマンド、実は Mac OS の usr/bin フォルダにシェルスクリプトを埋め込むものなのです。何故かそこへ HTML を作ってしまいました。多分 wget か何かでへまをしたのでしょう。

という訳で一旦削除して作り直したい時もあると思います。そんな時は /usr/bin/oil を削除して再実行します。

cd /usr/bin
sudo rm oll

Scafolding

oilさえ正常に動けば問題なく動作します。コマンドの前に sudo を着けるのをお忘れなく。

oil create blog 
oil generate scaffold post title:string summary:varchar[250] body:text

PDOの設定

ここが一番のハマりどころだと思います。MAMP専用のソケットを位置を指定しないとPDO接続されません。

app/config/development/db.php
return array(
    'default' => array(
        'connection'  => array(
            'dsn'        => 'mysql:unix_socket=/Applications/MAMP/tmp/mysql/mysql.sock;dbname=blog',
            'username'   => 'root',
            'password'   => 'root',
        ),
    ),
);

圧縮モード

上記でDBの構築要素まで作成されます。そのあと圧縮オプションでエラーとなりました。

oil refine migrate
Error - Undefined class constant 'MYSQL_ATTR_COMPRESS' in COREPATH/classes/database/pdo/connection.php on line 83

単純にコメントアウトとします。圧縮モードを使用するとWindows環境で文字化けが発生します。(最近もそうかは調べてませんが、とりあえず。)

ORMパッケージ

ErrorException [ Error ]: Class 'Orm\Model' not found とか言われてORMパッケージのコメントを外したらようやく GUID が動きました。

app/config/config.php
        'packages'  => array(
            'orm',
        ),

と、ここらへんが FuelPHP on MAMP のハマりどころでした。

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3