PHPにモジュールを追加

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