かなり長い間、Ubuntu 13.04 Server ボックスで APC を実行しています。数日前、どこかで何かがおかしくなり、今は非常に奇妙な動作をしています。私はそれをレイアウトします。
- APC 3.1.13 ( http://vps.sparrowinspace.com/apc.php )
- PHP 5.4.9 ( http://vps.sparrowinspace.com/phpinfo.php )
- ニンクス 1.4.1
私のPHP構成ファイルは/etc/php5/mods-available
. PHP5 の構成ディレクトリ ( /etc/php5/cli/conf.d
、/etc/php5/fpm/conf.d
など) はすべてシンボリック リンクされ/etc/php5/conf.d/
ており、さらに が シンボリック リンクされてい/etc/php5/mods-available
ます。php -i
シェルから実行すると、設定ファイルが/etc/php5/cli/conf.d/*
返されます。これは、どこの設定ファイルとまったく同じである必要があります。私の質問に関連する部分は次のとおりです。
apc
APC Support => disabled
Version => 3.1.13
APC Debugging => Disabled
MMAP Support => Enabled
MMAP File Mask => /tmp/apc.XXXXXX
Locking type => pthread mutex Locks
Serialization Support => broken
Revision => $Revision: 327136 $
Build Date => Oct 9 2012 20:29:11
Directive => Local Value => Master Value
apc.cache_by_default => On => On
apc.canonicalize => On => On
apc.coredump_unmap => Off => Off
apc.enable_cli => Off => Off
apc.enabled => On => On
apc.file_md5 => Off => Off
apc.file_update_protection => 2 => 2
apc.filters => no value => no value
apc.gc_ttl => 3600 => 3600
apc.include_once_override => Off => Off
apc.lazy_classes => Off => Off
apc.lazy_functions => Off => Off
apc.max_file_size => 1M => 1M
apc.mmap_file_mask => /tmp/apc.XXXXXX => /tmp/apc.XXXXXX
apc.num_files_hint => 512 => 512
apc.preload_path => no value => no value
apc.report_autofilter => Off => Off
apc.rfc1867 => Off => Off
apc.rfc1867_freq => 0 => 0
apc.rfc1867_name => APC_UPLOAD_PROGRESS => APC_UPLOAD_PROGRESS
apc.rfc1867_prefix => upload_ => upload_
apc.rfc1867_ttl => 3600 => 3600
apc.serializer => default => default
apc.shm_segments => 1 => 1
apc.shm_size => 128M => 128M
apc.shm_strings_buffer => 4M => 4M
apc.slam_defense => On => On
apc.stat => On => On
apc.stat_ctime => Off => Off
apc.ttl => 3600 => 3600
apc.use_request_time => On => On
apc.user_entries_hint => 4096 => 4096
apc.user_ttl => 7200 => 7200
apc.write_lock => On => On
これにより、オプションが [apc.enabled
オン] と表示されます。ただし、PHP5-FPM の構成を示す私の phpinfo.php (上記のリンク) (から/etc/php5/fpm/conf.d
) では、このオプションがオフとして表示されます。問題は、php (cli) のコマンドライン バージョンと、私の Web サーバーで実行されるバージョン (fpm) が、まったく同じシンボリック リンクされた構成ファイルを使用していることです。
私の APC はキャッシュしているようですが、奇妙な動作をします。以前は、キャッシュを空にして、サーバーにインストールされた Wordpress のいくつかのページをリロードすると、ページがすぐにキャッシュされることがわかりました。今では、何時間も同じヒット数とミス数で立ち往生しており、好きなだけ更新できますが、何も変わりません.
apc.enabled
オプションも0
(オフ) と表示されapc.php
ますが、少なくとも何かを行っているようです。ユーザーキャッシュだけでなく、オペコードキャッシュにもファイルがあります。奇妙な動作をしており、PHP から多くの矛盾する設定が返されています。私はここで途方に暮れています。ここ20-apc.ini
に良い尺度があります:
extension=apc.so
apc.enabled="1"
apc.stat = "1"
apc.max_file_size = "1M"
apc.localcache = "1"
apc.localcache.size = "128"
apc.shm_segments = "1"
apc.ttl = "3600"
apc.user_ttl = "7200"
apc.gc_ttl = "3600"
apc.cache_by_default = "1"
apc.filters = ""
apc.write_lock = "1"
apc.num_files_hint= "512"
apc.user_entries_hint="4096"
apc.shm_size = "128M"
apc.mmap_file_mask=/tmp/apc.XXXXXX
apc.include_once_override = "0"
apc.file_update_protection="2"
apc.canonicalize = "1"
apc.report_autofilter="0"
apc.stat_ctime="0"
他の構成ファイルまたはその一部が必要な場合は、このスレッドを監視しています。教えてください。