読者です 読者をやめる 読者になる 読者になる

Apacheを止めないでPHPモジュールをバージョンアップさせる件

会社の同僚に教えてもらったのだが、Apacheを起動している状況でPHPをバージョンアップさせる場合、PHPのmake install時にapacheを停止させないでインストールする方法。
これはPHPだけでなく、Apacheモジュール全般に適用できるはず。なお、再起動(gracefulでOK)しないとバージョンアップが反映されません(なので一瞬止まるけどご愛嬌)。

http://dsas.blog.klab.org/archives/50972695.html

apacheをインストールした際に一緒にインストールされている /usr/local/apache2/build/instdso.sh で、cpコマンドでなく、installコマンドに変更するとのこと。
cpは上書き、installはunlink後にコピーという動作でこれが原因らしいとのこと。

$ cd /usr/local/apache2/build
$ diff -u instdso.sh.sv instdso.sh
--- instdso.sh.sv       2010-12-02 15:04:47.000000000 +0900
+++ instdso.sh  2012-10-23 11:38:24.000000000 +0900
@@ -49,7 +49,7 @@
     $CMD || exit $?
 fi

-CMD="$SH_LIBTOOL --mode=install cp $DSOARCHIVE $TARGETDIR/"
+CMD="$SH_LIBTOOL --mode=install install $DSOARCHIVE $TARGETDIR/"
 echo $CMD
 $CMD || exit $?

$