2013年5月3日金曜日

PHPのコンパイル設定

今使っているPHPのフレームワーク、FuelPHP (ver 1.5)。
むっちゃ使いやすい。これは広がってほしい。

ただpdoじゃないmysqlドライバしか入っていないサーバに入れてmysqlドライバで動かそうとしたんだけど設定をどう書いてもpdoドライバで動かそうとしてPDO_Exceptionが出る。

phpとapacheを独自にコンパイルしているサーバ(別の方がセッティング)なので仕方なしにphp(ver. 5.4.12)をコンパイルしなおしました。phpをコンパイルするのなんて何年ぶりだろう。
あまりに久しぶりでオプションとかぜんぜん忘れてて、調べなおすのに半日かかりましたw

有効にしたモジュールは、
mysql関連
gd
mbstring
zip
※ PHP5.4からmysqlndがデフォルトで、--with-mysql-sock以外は値を指定しなくても大丈夫
※ fileinfo, session, json, xml関連などはデフォルトで入るので特に指定しない
※ mcrypt(fuelphpで必要)は面倒なのでFuelPHP内でPHPSecLibで代用してもらう


足りてない.hファイルをyumで入れる(環境によっては他にも必要なのが出てくるでしょう)


# yum install libjpeg-devel
# yum install libpng-devel
# yum install freetype-devel

configureする
# ./configure --prefix=/usr/local/php-5.4.12 --with-apxs2=/usr/local/apache_2.4.4/bin/apxs --with-gd --with-jpeg-dir=/usr/lib64 --with-png-dir=/usr/lib64 --with-zlib-dir=/lib64 --with-freetype-dir=/usr --enable-gd-native-ttf --with-mysql --with-mysqli --with-pdo-mysql --with-mysql-sock=/var/lib/mysql/mysql.sock --enable-mbstring --with-zlib --enable-zip


make, make testすると既知のバグっぽいのが出ますが目を瞑ってmake install。

apache再起動でめでたくPDOで動きました。

mysqlドライバで動かす書き方をちゃんと見つけたほうが良かった気がする。

0 件のコメント: