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