somemo programming etc.

プログラマ、雑記、プログラミング関係はLinkから、数式はこっちでまとめていることが多い

【php】拡張モジュールの動的作成【phpize】

phpをソースからコンパイルした場合、あとから必要なモジュールを組み込むとなると再度コンパイルする必要があります。コンパイルをせずに拡張モジュールを組み込むためにphpizeを使用します。

phpize

ソースからphp5.3.8をコンパイルした際にはインストールされていました。yumなどの場合は、php-develをインストールした際にインストールされているようです。実は昔に特に気にせず使っていたみたいです・・・。

autoconf

phpizeを使用するには、autoconfが必要です。yumでさくっとインストールしましょう。全般的に必要なものは、yumでインストールする派です。

yum install autoconf

実行

今回は、xslモジュールを組み込んだときの例です。libxsltが必要なので事前にインストールしておきましょう。

yum install libxslt-devel

phpize~make installを実行します。

# 拡張ディレクトリのxslに移動する
cd /usr/local/src/php-5.3.8/ext/xsl/

# configure関連を作成する
phpize

# xsl.soを作成する
./configure --with-xsl
make
make test
make install

設定

make install時に表示される拡張ディレクトリと拡張モジュールの設定をします。

# php.iniに拡張モジュール格納ディレクトリを指定する
extension_dir = "/usr/local/lib/php/extensions/no-debug-non-zts-20090626/"

# php_xsl.soを使用する設定の追加
extension=xsl.so