0

まず、バージョン:

Apache 2.2.22
PHP 5.3.10
Ubuntu 12.04 LTS (すべて更新済み)
APC 3.1.7 (PEAR ではなく APT 経由でインストール)

私が経験している問題は、グレースフル リスタート ( sudo service apache2 graceful) を発行すると、PHP に致命的なエラーが発生し、Apache にセグ フォールトが発生することです。これは私が見るものです/var/log/apache2/error.log

[Tue Apr 30 11:05:33 2013] [notice] Graceful restart requested, doing restart
PHP Fatal error:  PHP Startup: apc_mmap: mmap failed: in Unknown on line 0
[Tue Apr 30 11:05:34 2013] [notice] seg fault or similar nasty error detected in the parent process

/etc/php5/conf.d/apc.ini以下のみが含まれます。

extension=apc.so
apc.shm_size=256M

Linodeは私のホストです。私は 256MB のスワップ パーティションを持つ 1GB バージョンを持っているので、256M が妥当な値であるはずですapc.shm_size(最近のLinode メモリ アップグレードの前は、512MB のメモリしかなく、apc.shm_size128M に設定されていました)。

に示す一般的なキャッシュ情報を次に示しapc.phpます。

APC Version 3.1.7
PHP Version 5.3.10-1ubuntu3.6
APC Host    [removed]
Server Software Apache/2.2.22 (Ubuntu)
Shared Memory   1 Segment(s) with 256.0 MBytes
(mmap memory, pthread mutex Locks locking)
Start Time  2013/04/30 11:09:44
Uptime  21 minutes
File Upload Support 1

に示すように、これが私のランタイム設定apc.phpです。

apc.cache_by_default    1
apc.canonicalize    1
apc.coredump_unmap  0
apc.enable_cli  0
apc.enabled 1
apc.file_md5    0
apc.file_update_protection  2
apc.filters 
apc.gc_ttl  3600
apc.include_once_override   0
apc.lazy_classes    0
apc.lazy_functions  0
apc.max_file_size   1M
apc.mmap_file_mask  
apc.num_files_hint  1000
apc.preload_path    
apc.report_autofilter   0
apc.rfc1867 0
apc.rfc1867_freq    0
apc.rfc1867_name    APC_UPLOAD_PROGRESS
apc.rfc1867_prefix  upload_
apc.rfc1867_ttl 3600
apc.serializer  default
apc.shm_segments    1
apc.shm_size    256M
apc.slam_defense    1
apc.stat    1
apc.stat_ctime  0
apc.ttl 0
apc.use_request_time    1
apc.user_entries_hint   4096
apc.user_ttl    0
apc.write_lock  1

いろいろ調べてみましたが、何が原因なのかさっぱりわかりません。これはおそらく PHP、APC、または Apache のバグですか? 追加/変更する必要がある構成値はありますか?

助けてくれてありがとう!

[編集]
APC を更新しようとしました (apt で削除し、PECL を介してインストールしました) が、問題は解決しませんでした。APC 3.1.13 でもセグ フォールトが発生します。

4

2 に答える 2