PHPにモジュールを追加
先日Apacheのモジュールを別途追加したばかりですが、今度はPHPでも同様の事をやってみたのでメモ。
例としてpdoとpdo_mysqlを入れます。
まずはPHPのソースに飛ぶ
# cd /usr/local/src/php-5.2.3/ext/pdo
# ls
CREDITS        config.m4     pdo.php                pdo_sql_parser.lo  pdo_stmt.lo
EXPERIMENTAL   config.w32    pdo_dbh.c              pdo_sql_parser.re  php_pdo.h
Makefile.frag  package2.xml  pdo_dbh.lo             pdo_sqlstate.c     php_pdo_driver.h
README         pdo.c         pdo_sql_parser.c       pdo_sqlstate.lo    php_pdo_int.h
TODO           pdo.lo        pdo_sql_parser.c.orig  pdo_stmt.c         tests
何もしてなければ上記の通り、configureファイルが無いのでphpizeする。
# which phpize
/usr/local/bin/phpize
# phpize
Configuring for:
PHP Api Version:         20041225
Zend Module Api No:      20060613
Zend Extension Api No:   220060519
これでconfigureファイルができましたので設計します。
# ./configure –with-pdo
–with-pdoは無くてもできたかも。
# make
# make install
Installing shared extensions:     /usr/local/lib/php/extensions/no-debug-non-zts-20060613/
Installing header files:          /usr/local/include/php/
Installing PDO headers:          /usr/local/include/php/ext/pdo/
以上でpdoのインストールが終わりました。
続いてpdo_mysqlのインストールを行います。
# cd /usr/local/src/php-5.2.3/ext/pdo_mysql
# phpize
Configuring for:
PHP Api Version:         20041225
Zend Module Api No:      20060613
Zend Extension Api No:   220060519
今度はmysqlに関連するモジュールのためmysqlがインストールされているディレクトリを指定します。
# ./configure –with-pdo-mysql=/usr/local/mysql/
# make
# make install
最後にphp.iniに下記2行を追加します。
extension=pdo.so
extension=pdo_pgsql.so
php -m コマンドで確認します。
# php -m
[PHP Modules]
ctype
curl
date
dom
ffmpeg
filter
gd
hash
iconv
json
libxml
mbstring
mysql
pcre
PDO
pdo_mysql
pdo_sqlite
posix
Reflection
session
SimpleXML
SPL
SQLite
standard
tokenizer
xml
xmlreader
xmlwriter
zlib
[Zend Modules]
参考:phpize で共有 PECL 拡張モジュールをコンパイルする方法
http://php.plus-server.net/install.pecl.phpize.html