Home >Backend Development >PHP Tutorial >Detailed explanation of the installation and use of PHP APC_PHP tutorial
1. PHPAPC installation
Download and unzip the installation package:
2. PHPAPC configuration options
[APC]
;Alternative PHP Cache is used to cache and optimize PHP intermediate code
apc.cache_by_default = On
; Whether to enable buffering for all files by default.
;If set to Off and used with the apc.filters directive starting with a plus sign, files will only be cached if they match the filter.
apc.enable_cli= Off
; Whether to enable the APC function for the CLI version, turn this command on only for testing and debugging purposes.
apc.enabled= On
; Whether to enable APC. If APC is statically compiled into PHP and you want to disable it, this is the only way.
apc.file_update_protection= 2
;When you modify files on a running server, you should perform atomic operations.
;That is, first write into a temporary file, and then rename (mv) the file to the final name.
;Text editors and programs such as cp and tar do not operate in this way, resulting in the possibility of buffering incomplete files.
;The default value 2 means that when accessing a file, if the modification time is found to be less than 2 seconds from the access time, no buffering will be performed.
;The unlucky visitor may get incomplete content, but the bad effect is not magnified by caching.
; If you can ensure that all update operations are atomic operations, you can turn off this feature with 0.
; If your system updates slowly due to heavy IO operations, you will need to increase this value.
apc.filters=
;A comma-separated list of POSIX extended regular expressions.
;If the source file name matches any of the patterns, the file will not be cached.
; Note that the file name used for matching is the file name passed to include/require, not the absolute path.
;If the first character of the regular expression is "+" it means any file matching the expression will be cached,
;If the first character is "-" then any matches will not is cached. "-" is the default value and can be omitted.
apc.ttl= 0
;The number of seconds a cache entry is allowed to stay in the buffer. 0 means never times out. The recommended value is 7200~36000.
;Setting to 0 means that the buffer may be filled with old cache entries, preventing new entries from being cached.
apc.user_ttl= 0
; Similar to apc.ttl, but for each user, the recommended value is 7200~36000.
;Setting to 0 means that the buffer may be filled with old cache entries, preventing new entries from being cached.
apc.gc_ttl= 3600
;The number of seconds that cache entries can exist in the garbage collection table.
;This value provides a safety measure, even if a server process crashes while executing a cached source file,
;and the source file has been modified, the memory allocated for the old version will not be reclaimed until until this TTL value is reached.
;Set to zero to disable this feature.
apc.include_once_override= Off
; Please keep it Off, otherwise it may cause unexpected results.
apc.max_file_size= 1M
;Does not allow files larger than this size to be cached.
apc.mmap_file_mask=
; If MMAP support is compiled for APC using –enable-mmap (enabled by default),
; the value here is the mktemp style passed to the mmap module File mask (recommended value is "/tmp/apc.XXXXXX").
;This mask is used to determine whether the memory mapped area should be file-backed or sharedmemory backed.
;For direct file-backed memory mapping, set it to "/tmp/apc.XXXXXX" (exactly 6 X's).
;To use POSIX-style shm_open/mmap, you need to set it to "/apc.shm.XXXXXX".
;You can also set it to "/dev/zero" to use the kernel's "/dev/zero" interface for anonymously mapped memory.
; Not defining this directive means forcing the use of anonymous mapping.
apc.num_files_hint= 1000
; The approximate number of different source files that may be included or requested on the web server (recommended value is 1024~4096).
; If you are not sure, set to 0; this setting is mainly used for sites with thousands of source files.
apc.optimization= 0
; Optimization level (recommended value is 0).
; A positive integer value indicates that the optimizer is enabled, and higher values use more aggressive optimization.
;Higher values may have very limited speed improvements, but are currently experimental.
apc.report_autofilter= Off
;Whether to record all scripts that are automatically not cached due to early/latebinding reasons.
apc.shm_segments= 1
;The number of shared memory blocks allocated for the compiler buffer (recommended value is 1).
;If APC runs out of shared memory and the apc.shm_size directive has been set to the maximum allowed by the system,
;you can try increasing this value.
apc.shm_size= 30
; The size of each shared memory block (in MB, the recommended value is 128~256).
;Some systems (including most BSD variants) have a very small default shared memory block size.
apc.slam_defense= 0
;(It is against the use of this command, it is recommended to use the apc.write_lock command)
;On a very busy server, whether it is starting a service or modifying a file ,
; may all cause race conditions due to multiple processes trying to cache a file at the same time.
;This directive is used to set the percentage of the process skipping the caching step when processing uncached files.
;For example, setting it to 75 means that there is a 75% probability of not caching when an uncached file is encountered, thereby reducing the chance of collision.
;Encouraged to be set to 0 to disable this feature.
apc.stat= On
;Whether to enable script update check.
;Be very careful when changing this command value.
;The default value On means that APC checks whether the script has been updated every time it is requested.
;If it is updated, it will automatically recompile and cache the compiled content. However, doing so has a negative impact on performance.
;If set to Off, it means no checking will be performed, thus greatly improving performance.
;But in order for the updated content to take effect, you must restart the web server.
;This directive is also valid for include/require files. But it should be noted that
; if you use a relative path, APC must check to locate the file every time include/require.
;Using absolute paths can skip the check, so you are encouraged to use absolute paths for include/require operations.
apc.user_entries_hint= 100
; Similar to the num_files_hint directive, but for each different user.
; If you are not sure, set to 0.
apc.write_lock= On
; Whether to enable write lock.
;On a very busy server, whether starting a service or modifying a file,
;it is possible to cause a race condition due to multiple processes trying to cache a file at the same time.
;Enabling this directive can avoid race conditions.
apc.rfc1867= Off
; After turning on this command, for each file field that contains
3. PHP_APC function
apc_add—Cache a variable to data storage
apc_bin_dump— Get a binary dump of the given files and user variables
apc_bin_dumpfile— Output a binary dump of cached files and user variables to a file
apc_bin_load— Load a binary dump into the APC file/user cache
apc_bin_loadfile— Load a binary dump from a file into the APC file/user cache
apc_cache_info— Retrieves cached information from APC's data store
apc_cas— Updates an old value with a new value
apc_clear_cache—Clear APC cache
apc_compile_file— Stores a file in the bytecode cache, bypassing all filters.
apc_dec— Decrease a stored number
apc_define_constants— Defines a set of constants for retrieval and mass-definition
apc_delete_file— Deletes files from the opcode cache
apc_delete—Delete a variable from the user cache
apc_exists—Check whether a certain or certain keys exist in APC
apc_fetch—Loads a set of constants from the cache
apc_sma_info— Retrieves APC's Shared Memory Allocation information
apc_store— Cache a variable in the data store
4. PHPAPC usage
Copy code The code is as follows: