2008年7月1日火曜日

Mac OS X Leopard にApache,MySQL, PHPをインストール

Leoparad には標準でApche, PHP, Ruby, Ruby on Rails, Pythonなどがインストールされているので、買ったら即日開発に着手できるぞ〜なんて思ってたけど、そうは甘くありませんでした。

例えば、標準でインストールされているPHPにはPDOのMySQLドライバが入ってませんでした。
で、MySQLをPDOで使えるようにしようと思ったんだけど、これがけっこう大変なことに・・・

MySQL

MySQL5.0をdmg版をダウンロードしてサクっとインストール
/usr/local の下にインストールされます。
MacPortでインストールするとパスが違うようなので注意。(/opt/の下だったかな?)

~/.bash_profile にパスを追加しておく

PATH=/usr/local/mysql/bin:$PATH
export PATH


よーし、これでMySQLが入ったから、あとはPDOのMySQLドライバを入れれば動くのかな?と思ってMySQLドライバをインストールしたものの動かない・・・
php.iniとにらめっこしたものの、よく分からないが、どうやらpdo_mysql.soをうまく読み込んでくれないらしい(?)。
せっかくデフォルトでインストールされているんだから、あらためてPHPをインストールし直すのはなんだかなあ、と思いつつもPHPを再インストールするのが一番近道なようだ。

PHP
ソースからインストール
オプションは下のサイトなどを参考
LAMP in Leopard OSX 10.5 (PHP5 and Apache 2.2)
How to enable PDO_MYSQL in 5.2.4 PHP included into Leopard

./configure
--prefix=/usr
--mandir=/usr/share/man
--infodir=/usr/share/info
--with-apxs2=/usr/sbin/apxs
--enable-cli --with-zlib-dir=/usr
--enable-mbstring
--enable-mbregex
--enable-sockets
--with-curl=/usr
--with-config-file-path=/etc
--sysconfdir=/private/etc
--with-mysql-sock=/tmp/mysqld.sock
--with-mysqli=/usr/local/mysql/bin/mysql_config
--with-pear=/Library/PHP
--without-iconv
--without-openssl
--with-pdo-mysql=/usr/local/mysql/bin/mysql_config


上に書いたように、MySQL関連のパスはdmgでインストールした場合です。

php.iniの編集

/etc/pho.ini
extension=pdo.so
extension=pdo_mysql.so
を追加

mysql.default_socket = /tmp/mysqld.sock
を指定

これで大丈夫... のはずが
apacheがlibphp5.soを読み込めないとエラーを吐きだす始末。

Apache

Leopard で PHP5 を再構築できなかった話
Custom MAMP on Mac OS 10.5 Leopard

こちらのサイトを参考にapacheも再インストール
ソースをダウンロードして解凍した後apacheのディレクトリに移動してインストールを実行

./configure --enable-layout=Darwin --enable-mods-shared=all
make
sudo make install 


apacheを起動した後phpinfo();で確認して
PDO drivers sqlite2, sqlite, mysqlとなっていればOK

0 件のコメント: