; APC: Enable mmap support instead of IPC shm ; Locking type = File Locks extension = apc-mmap.so ; APC: Enable IPC semamphore based locks instead of standard fcntl() locks ; Locking type = IPC Semaphore ;extension = apc-sem.so ; APC: Hardware-dependent implementation of spinlocks ; Locking type = spinlocks ;extension = apc-spinlocks.so ; APC: Enable NPTL pthread mutex based locks ; Locking type = pthread mutex ;extension = apc-pthread.so ; APC: Enable mmap support and pthread mutex based locks ; Locking type = File Locks + pthread mutex ;extension = apc-mmap+mutex.so [apc] ; This can be set to 0 to disable APC. This is ; primarily useful when APC is statically compiled ; into PHP, since there is no other way to disable ; it (when compiled as a DSO, the zend_extension ; line can just be commented-out). ; (Default: 1) apc.enabled = 1 ; The number of shared memory segments to allocate ; for the compiler cache. If APC is running out of ; shared memory but you have already set ; apc.shm_size as high as your system allows, you ; can try raising this value. Setting this to a ; value other than 1 has no effect in mmap mode ; since mmap'ed shm segments don't have size limits. ; (Default: 1) apc.shm_segments = 1 ; The size of each shared memory segment in MB. ; By default, some systems (including most BSD ; variants) have very low limits on the size of a ; shared memory segment. ; (Default: 30) apc.shm_size = 30M ; A "hint" about the number of distinct source files ; that will be included or requested on your web ; server. Set to zero or omit if you're not sure; ; this setting is mainly useful for sites that have ; many thousands of source files. ; (Default: 1000) apc.num_files_hint = 1000 ; Just like num_files_hint, a "hint" about the number ; of distinct user cache variables to store. ; Set to zero or omit if you're not sure; ; (Default: 4096) apc.user_entries_hint = 4096 ; The number of seconds a cache entry is allowed to ; idle in a slot in case this cache entry slot is ; needed by another entry. Leaving this at zero ; means that your cache could potentially fill up ; with stale entries while newer entries won't be ; cached. ; (Default: 0) apc.ttl = 0 ; The number of seconds a user cache entry is allowed ; to idle in a slot in case this cache entry slot is ; needed by another entry. Leaving this at zero ; means that your cache could potentially fill up ; with stale entries while newer entries won't be ; cached. ; (Default: 0) apc.user_ttl = 0 ; The number of seconds that a cache entry may ; remain on the garbage-collection list. This value ; provides a failsafe in the event that a server ; process dies while executing a cached source file; ; if that source file is modified, the memory ; allocated for the old version will not be ; reclaimed until this TTL reached. Set to zero to ; disable this feature. ; (Default: 3600) apc.gc_ttl = 3600 ; On by default, but can be set to off and used in ; conjunction with positive apc.filters so that files ; are only cached if matched by a positive filter. ; (Default: On) apc.cache_by_default = On ; A comma-separated list of POSIX extended regular ; expressions. If any pattern matches the source ; filename, the file will not be cached. Note that ; the filename used for matching is the one passed ; to include/require, not the absolute path. If the ; first character of the expression is a + then the ; expression will be additive in the sense that any ; files matched by the expression will be cached, and ; if the first character is a - then anything matched ; will not be cached. The - case is the default, so ; it can be left off. ; (Default: "") apc.filters = "" ; If compiled with MMAP support by using --enable-mmap ; this is the mktemp-style file_mask to pass to the ; mmap module for determing whether your mmap'ed memory ; region is going to be file-backed or shared memory ; backed. For straight file-backed mmap, set it to ; something like /tmp/apc.XXXXXX (exactly 6 X's). ; To use POSIX-style shm_open/mmap put a ".shm" ; somewhere in your mask. eg. "/apc.shm.XXXXXX" ; You can also set it to "/dev/zero" to use your ; kernel's /dev/zero interface to anonymous mmap'ed ; memory. Leaving it undefined will force an ; anonymous mmap. ; (Default: "") apc.mmap_file_mask = "/var/lib/php-apc/apc.XXXXXX" ; When you modify a file on a live web server you really ; should do so in an atomic manner. That is, write to a ; temporary file and rename (mv) the file into its permanent ; position when it is ready. Many text editors, cp, tar and ; other such programs don't do this. This means that there ; is a chance that a file is accessed (and cached) while it ; is still being written to. This file_update_protection ; setting puts a delay on caching brand new files. The ; default is 2 seconds which means that if the modification ; timestamp (mtime) on a file shows that it is less than 2 ; seconds old when it is accessed, it will not be cached. ; The unfortunate person who accessed this half-written file ; will still see weirdness, but at least it won't persist. ; If you are certain you always atomically update your files ; by using something like rsync which does this correctly, you ; can turn this protection off by setting it to 0. If you ; have a system that is flooded with io causing some update ; procedure to take longer than 2 seconds, you may want to ; increase this a bit. ; (Default: 2) apc.file_update_protection = 2 ; Mostly for testing and debugging. Setting this enables APC ; for the CLI version of PHP. Normally you wouldn't want to ; create, populate and tear down the APC cache on every CLI ; request, but for various test scenarios it is handy to be ; able to enable APC for the CLI version of APC easily. ; (Default: 0) apc.enable_cli = 0 ; Prevents large files from being cached. ; (Default: 1M) apc.max_file_size = 1M ; Whether to stat the main script file and the fullpath ; includes. If you turn this off you will need to restart ; your server in order to update scripts. ; (Default: 1) apc.stat = 1 ; Whether to canonicalize paths in stat=0 mode or ; fall back to stat behaviour if set to 0 ; (Default: 0) apc.canonicalize = 0 ; On busy servers when you first start up the server, or when ; many files are modified, you can end up with all your processes ; trying to compile and cache the same files. With write_lock ; enabled, only one process at a time will try to compile an ; uncached script while the other processes will run uncached ; instead of sitting around waiting on a lock. ; (Default: 1) apc.write_lock = 1 ; Logs any scripts that were automatically excluded from being ; cached due to early/late binding issues. ; (Default: 0) apc.report_autofilter = 0 ; RFC1867 File Upload Progress hook handler is only available ; if you compiled APC against PHP 5.2.0 or later. When enabled ; any file uploads which includes a field called ; APC_UPLOAD_PROGRESS before the file field in an upload form ; will cause APC to automatically create an upload_<key> ; user cache entry where <key> is the value of the ; APC_UPLOAD_PROGRESS form entry. ; ; Note that the file upload tracking is not threadsafe at this ; point, so new uploads that happen while a previous one is ; still going will disable the tracking for the previous. ; (Default: 0) apc.rfc1867 = 0 ; Key prefix to use for the user cache entry generated by ; rfc1867 upload progress functionality. ; (Default: "upload_") apc.rfc1867_prefix = "upload_" ; Specify the hidden form entry name that activates APC upload ; progress and specifies the user cache key suffix. ; (Default: "APC_UPLOAD_PROGRESS") apc.rfc1867_name = "APC_UPLOAD_PROGRESS" ; The frequency that updates should be made to the user cache ; entry for upload progress. This can take the form of a ; percentage of the total file size or a size in bytes ; optionally suffixed with 'k', 'm', or 'g' for kilobytes, ; megabytes, or gigabytes respectively (case insensitive). ; A setting of 0 updates as often as possible, which may cause ; slower uploads. ; (Default: 0) apc.rfc1867_freq = 0 ; Optimize include_once and require_once calls and avoid the ; expensive system calls used. ; (Default: 0) apc.include_once_override = 0