PHP 5.4.0 + APC 3.1.9でapacheが再起動できないらしい

PHP5.4.0の動作検証など行っていますが、
一見問題ないように見えます。
とはいえ、まだリリースしたばかりなのでいろいろあるものですね。

かゆいところで、Apacheが再起動(restart or graceful)できないという現象がありました。
ちなみに、停止(stop)、起動(start)は問題なくできます。
そんな環境はこちら

  • Cent OS 6.2
  • Apache HTTP Server 2.2.22
  • PHP 5.4.0 + APC 3.1.9

再起動すると次のログが出力されhttpdが起動しません。

[Thu Mar 22 10:32:38 2012] [notice] seg fault or similar nasty error detected in the parent process

stop、startでは問題なくhttpdの起動と停止ができます。
また、apcを外すとこちらも問題なかったためやはりapcが原因のようです。
念のため、pecl apcリポジトリから最新版をインストールしてみました。

pecl apcリポジトリからインストール

svn co http://svn.php.net/repository/pecl/apc/trunk/ apc-trunk
cd apc-trunk
phpize
./configure --enable-apc --with-php-config=/usr/local/php/bin/php-config
make
make install

すんなり再起動できました。
インストールしたapcの情報をphpinfo()で確認すると、

APC Support enabled
Version 3.1.9
APC Debugging Disabled
MMAP Support Enabled
MMAP File Mask no value
Locking type pthread mutex Locks
Serialization Support php
Revision $Revision: 324326 $
Build Date Mar 22 2012 11:34:52

バージョンに変更はないですが、開発版なのでいろいろ違うのかと。

なんらかの事情?で、力技で乗り切るには、
apachectlに次の内容を追記します。

restart)
    echo 'apache httpd stop'
    $HTTPD -k stop
    echo 'sleep 3'
    sleep 3
    echo 'apache httpd start'
    $HTTPD -k start
    ERROR=$?
    ;;

まあ、使わないと思いますが。