MAMP に PHP フレームワークの Symfony をインストール

流行みたいなんでやってみました。まず terminal からコマンドラインでインストール。

$ pear channel-discover pear.symfony-project.com
$ pear install symfony/symfony-beta

上の行は Symfony が配布されているチャンネルの追加。下の行は Symfony のインストール(ベータ版でなければ -beta を外す)。これでインストールはされたけどこの状態で Symfony のコマンドを打ってもエラーが出る。

$ /Applications/MAMP/bin/php5/bin/symfony -v
Parse error: parse error in /Applications/MAMP/bin/php5/bin/symfony

これはコマンドラインから動く PHP が元々 MacOSX が持っている PHP のバージョンで動いている為。

$ php -v
PHP 4.4.4 (cli) (built: Nov  1 2006 18:10:56)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies

えーい。これも MAMP の PHP5 とハードリンクしてしまえ。

$ sudo mv /usr/bin/php /usr/bin/php-old
$ sudo ln /Applications/MAMP/bin/php5/bin/php /usr/bin/php

ついでに Symfony もハードリンク。

$ sudo ln /Applications/MAMP/bin/php5/bin/symfony /usr/bin/symfony

これにてインストールは無事終了。

$ symfony -V
symfony version 1.0.0

追記。何かの拍子で symfony コマンドを打ってもずっとこんな表示。

Warning: include(##SYMFONY_DATA_DIR##/bin/symfony.php): failed to open stream: No such file or directory in /usr/bin/symfony on line 39
Warning: include(): Failed opening '##SYMFONY_DATA_DIR##/bin/symfony.php' for inclusion (include_path='.:/Applications/MAMP/bin/php5/lib/php') in /usr/bin/symfony on line 39

んー。色々と調べていたら何時の間にか自分の root に「config」フォルダが出来てその中の config.php を読み込んでだみたい。しかもこいつは間違った設定ファイルだべ。削除したらすっきり動きました。

追記…。諸々動かそうと思ったらこんな表示。

Fatal error: Cannot access protected property sfConfig::$config in /Applications/MAMP/bin/php5/lib/php/symfony/config/sfConfig.class.php on line 72

ふむ。色々と調べてみるとどうやら eAccelerator が悪さしてるみたいなんだな。おや。eAccelerator なんぞ使ってないと思ったが。スタートページから設定画面を見るとしっかり動いてる…。Zend Optimizer にしろ eAccelerator にしろ MAMP の環境設定のパネルからチェックしてもしなくても設定変わっておらん(MAMP 1.5b1)。めんどいので php.ini で eAccelerator の設定をコメントアウト。これでインストール出来ました。何だか余計な事に時間がかかってまだ何ひとつ試してないぞ。これ。