php-build が libphp5.so を上書きしないようにするパッチ
CHH/php-build · GitHub は、php を指定のディレクトリに build できるので便利だが、
--with-apxs2 をつけて build すると、httpd の modules ディレクトリ以下 (/etc/httpd/modules など) の libphp5.so を上書きしてしまう。
この場合、システム全体で使っている php と、個別にインストールした php を共存させられないので不便だ。
ので、パッチを書いた。
以下のように、patch コマンドで適用できる(できない場合は、一行しか追加していないので、コピペで)。
patch -u /path/to/php-build < php-build.patch
パッチの説明
Makefile が以下のとおりになっていて、
INSTALL_IT = $(mkinstalldirs) '$(INSTALL_ROOT)/usr/lib64/httpd/modules' && $(mkinstalldirs) '$(INSTALL_ROOT)/etc/httpd/conf' && /usr/sbin/apxs -S LIBEXECDIR=$(INSTALL_ROOT)/usr/lib64/httpd/modules -S SYSCONFDIR='$(INSTALL_ROOT)/etc/httpd/conf' -i -a -n php5 libphp5.la
以下の記述で、生成先を指定している。
/usr/sbin/apxs -S LIBEXECDIR=$(INSTALL_ROOT)/usr/lib64/httpd/modules
なので、LIBEXECDIR を make する前に書き換えるようにした。
ちなみに、LIBEXECDIRの指定は、configure ファイルの
APXS_LIBEXECDIR=`$APXS -q LIBEXECDIR`
で行っているようなので、こちらを書き換えてもできるかもしれない(未検証)。
libphp5.so を別の場所に生成できるようになったのに満足して、httpd で php が動くか検証していないので、動かなかったら申し訳ございません...