Symfonyに挑戦03「Symfonyをインストール」

早速Symfonyの日本語ドキュメントを参考にしてインストールしてみようと思う。

Symfonyのバージョンは1.0と1.1と1.2があるみたいだけど、大きい数字の方がかっこいいので1.2をインストールしてみる。
参考にするSymfonyの日本語ドキュメントは、1.2のものが見あたらなかったけど上記サイトの1.1の所を見ればなんとかなると思う。

日本語ドキュメントの第1章は上から20cmあたりで読むのをやめ、第2章はタイトルに魅力を感じないので読んでいない。第3章の「symfonyを動作させる」からやろう。

Symfonyをインストール

第3章に書いてあるSymfonyをインストールする方法は以下の三つ

  • サンドボックスというパッケージをダウンロードしてきてコピーする方法
  • PEARパッケージとしてインストールする方法
  • svnリポジトリからファイルを取ってきてインストールする方法

ざっと読んだ感じだと、PEARパッケージでインストールする方法が一番楽しそうだ。

というわけで、「3.2.1. symfonyPEARパッケージをインストールする」の所からやってみる。
まずはsymfonyのチャネルをPEARに追加

Mac:~ kaneda$ pear channel-discover pear.symfony-project.com
-bash: pear: command not found
Mac:~ kaneda$ pear channel-discover pear.symfony-project.com
-bash: pear: command not found
Mac:~ kaneda$ pear channel-discover pear.symfony-project.com
-bash: pear: command not found
Mac:~ kaneda$ pear channel-discover pear.symfony-project.com
-bash: pear: command not found
Mac:~ kaneda$ 

・・・どうやらpearコマンドが使えない。

Symfonyをインストール する前にPEARをどうにかする

PEARPHPで使う便利なライブラリ群。ということは知っているけど実際に使ったことはない。ということでいろいろ調べてみた。

基本的にサーバには元々インストールされているものではない

XAMPPには初めから入っているだと?

XAMPPには入っているが、コマンドの実行ファイルがある場所から呼び出さないといけない。

いちいち実行ファイルの場所に移動するのは面倒なのでWindowsの場合は環境変数にパスを登録しておくんだ

Macでやってるんだ

Mac OSXではコマンドをアプリケーションショートカットのように登録しておくことができる

わかったのでやってみる。
まずはXAMPPのbinフォルダに入っている実行ファイル(phpとかpearとか)をターミナルから直接実行出来るようにショートカットを登録してやる。
以下ターミナルでの作業

Mac:~ kaneda$ sudo su
sh-3.2# mkdir /usr/lcoal/bin
sh-3.2# ln -s /Applications/xampp/xamppfiles/bin/php-5.2.6 /usr/local/bin/php
sh-3.2# ln -s /Applications/xampp/xamppfiles/bin/pear /usr/local/bin/pear
sh-3.2# exit
Mac:~ kaneda$ vi ~/bash_profile
(英数モードでキーボードのiを押してからコピペ)
export PATH=/usr/local/bin:$PATH
~
~
~
(コピペできたらescキーを押して:wqと続けて入力したあとreturn)

できた。試しにpearを呼んでみる。

sh-3.2# pear -V
PEAR Version: 1.7.1
PHP Version: 5.2.6
〜とかいろいろ表示される〜

完了。うまくいかない時はターミナルを再起動する!
ついでにpearを最新版にしてみるといい。

sh-3.2# pear channel-update pear.php.net
Updating channel "pear.php.net"
Update of Channel "pear.php.net" succeeded
sh-3.2# pear upgrade-all
〜いろいろてかてかと表示される〜
sh-3.2# pear -V
PEAR Version: 1.7.2
PHP Version: 5.2.6

できた。1.7.1が1.7.2になった。すごい出来る人の気分になった。

Symfonyをインストール リトライ

さっきできなかった「symfonyのチャネルをPEARに追加」をしてみる

Mac:~ kaneda$ sudo su
sh-3.2# pear channel-discover pear.symfony-project.com
Adding Channel "pear.symfony-project.com" succeeded
Discovery of channel "pear.symfony-project.com" succeeded

できた。
次に「チャネルで利用可能なライブラリを見るためには次のコマンドを入力します」をやる。

sh-3.2# pear remote-list -c symfony
Channel symfony Available packages:
===================================
Package Version
pake    1.1.4
symfony 1.0.20

うし。続ける。

sh-3.2# pear install symfony/symfony
....................................................
Fatal error: Allowed memory size of 8388608 bytes exhausted〜

エラーだ。メモリが足りないらしい。頭に「もうやめちゃえよ」という言葉が。
調べた。php.iniというphp設定ファイルのメモリ上限値を上げてあげるといいらしい。
アプリケーションフォルダ > xampp > etc > php.iniをテキストエディタで開き、

memory_limit = 8M
↓
memory_limit = 128M

に変更。

sh-3.2# pear install symfony/symfony
〜
install ok: 〜

入ったよ。

sh-3.2# symfony -V
sh: symfony: command not found

またcommand not found。でももう出来る。

sh-3.2# ln -s /Applications/xampp/xamppfiles/bin/symfony /usr/local/bin/symfony
sh-3.2# symfony -V
symfony version 1.0.20

入った。うすうす気づいていたけど、バージョンが1.2じゃない。
なぜかpear upgrade symfony/symfonyでは最新版にできなかったので、アンインストールしてから1.2.4をインストールする。

sh-3.2# pear uninstall symfony/symfony
sh-3.2# pear install symfony/symfony-1.2.4
sh-3.2# symfony -V
symfony version 1.2.4 〜

できた。


というふうに、とても簡単にインストールできました。
・・・次はsymfonyを動かしてみよう。