| 32 | | It's time to explain xcache.ini itself, finally, no matter if you do or don't have all the basic aboves in mind. |
| 33 | | |
| 34 | | == Loading XCache module == |
| 35 | | {{{ |
| 36 | | ;; install as zend extension (recommended), normally "$extension_dir/xcache.so" |
| 37 | | zend_extension = /usr/local/lib/php/extensions/non-debug-non-zts-xxx/xcache.so |
| 38 | | ;; For windows users, replace xcache.so with php_xcache.dll |
| 39 | | zend_extension_ts = c:/php/extensions/php_xcache.dll |
| 40 | | ;; or install as extension, make sure your extension_dir setting is correct |
| 41 | | ; extension = xcache.so |
| 42 | | ;; or win32: |
| 43 | | ; extension = php_xcache.dll |
| 44 | | |
| 45 | | ; required for >=php5.1 if you turn XCache on |
| 46 | | auto_globals_jit = Off |
| 47 | | }}} |
| 48 | | |
| 49 | | == XCache Administration == |
| 50 | | ||'''Name'''||'''Default'''||'''Changeable''' |
| 51 | | ||xcache.admin.user||"mOo"||PHP_INI_SYSTEM |
| 52 | | ||xcache.admin.pass||""||PHP_INI_SYSTEM |
| 53 | | ||xcache.test||Off||PHP_INI_SYSTEM |
| 54 | | ||xcache.coredump_directory||""||PHP_INI_SYSTEM |
| 55 | | |
| 56 | | '''xcache.admin.user''' ''string'':: |
| 57 | | auth name. |
| 58 | | '''xcache.admin.pass''' ''string'':: |
| 59 | | Should be md5($your_password), or empty to disable administration. |
| 60 | | '''xcache.test''' ''string'':: |
| 61 | | Turn on to enable testing functionals. It will be explained where the option is needed. |
| 62 | | '''xcache.coredump_directory''' ''string'':: |
| 63 | | Directory to save core dump on crash (SIGSEGV SIGABRT). Leave it empty to disable or something like "/tmp/phpcore/" to enable. |
| 64 | | Make sure it's writable by php (without checking open_basedir). |
| 65 | | |
| 66 | | == XCache Cacher == |
| 67 | | ||'''Name'''||'''Default'''||'''Changeable''' |
| 68 | | ||xcache.cacher||On||PHP_INI_SYSTEM |
| 69 | | ||xcache.size||0||PHP_INI_ALL |
| 70 | | ||xcache.count||1||PHP_INI_SYSTEM |
| 71 | | ||xcache.slots||8K||PHP_INI_SYSTEM |
| 72 | | ||xcache.ttl||0||PHP_INI_SYSTEM |
| 73 | | ||xcache.gc_interval||0||PHP_INI_SYSTEM |
| 74 | | ||xcache.var_size||0||PHP_INI_SYSTEM |
| 75 | | ||xcache.var_count||1||PHP_INI_SYSTEM |
| 76 | | ||xcache.var_slots||8K||PHP_INI_SYSTEM |
| 77 | | ||xcache.var_ttl||0||PHP_INI_ALL |
| 78 | | ||xcache.var_maxttl||0||PHP_INI_SYSTEM |
| 79 | | ||xcache.var_gc_interval||300||PHP_INI_SYSTEM |
| 80 | | ||xcache.readonly_protection||Off||PHP_INI_SYSTEM |
| 81 | | ||xcache.mmap_path||"/dev/zero"||PHP_INI_SYSTEM |
| 82 | | |
| 83 | | '''xcache.cacher''' ''boolean'':: |
| 84 | | Enable or disable opcode cacher. Not available if xcache.size is 0. |
| 85 | | '''xcache.size''' ''int'':: |
| 86 | | 0 to disable, non 0 to enable. Check if your system mmap allows. |
| 87 | | '''xcache.count''' ''int'':: |
| 88 | | Specify how many chunks to split the cache. see SplittedCache |
| 89 | | '''xcache.slots''' ''size'':: |
| 90 | | Just a "slots" hint for hash, you can always store count(items) > slots. It can be (count(items) * n) where n is 0.2 to 1, or leave it as is. More slots means faster searching the cache but take more memory. |
| 91 | | '''xcache.ttl''' ''seconds'':: |
| 92 | | Ttl (Time To Live) value for the php entry (cached opcodes of a file), 0=forever. |
| 93 | | '''xcache.gc_interval''' ''seconds'':: |
| 94 | | Garbage collection interval. |
| 95 | | '''xcache.var_size''' ''int'':: |
| 96 | | '''xcache.var_count''' ''int'':: |
| 97 | | '''xcache.var_slots''' ''size'':: |
| 98 | | Same as above, but for variable data. |
| 99 | | '''xcache.var_ttl''' ''seconds'':: |
| 100 | | Default ttl for variables api, xcache_(get|set|inc|dec) etc. |
| 101 | | '''xcache.var_maxttl''' ''seconds'':: |
| 102 | | A longer ttl when using variables api is limited to below max ttl. |
| 103 | | '''xcache.var_gc_interval''' ''seconds'':: |
| 104 | | Garbage collection interval for variables api. |
| 105 | | '''xcache.readonly_protection''' ''boolean'':: |
| 106 | | If ReadonlyProtection is turned on, it will be a bit slower, but much safer. This option isn't available for /dev/zero. |
| 107 | | '''xcache.mmap_path''' ''string'':: |
| 108 | | for *nix, xcache.mmap_path is a ''file path'', not directory. |
| 109 | | for win32, xcache.mmap_path is anonymous ''map name'', not a file path. |
| 110 | | Use something like "/tmp/xcache" if you want to turn on ReadonlyProtection, 2 group of php won't share the same /tmp/xcache. |
| 111 | | |
| 112 | | == XCache Optimizer == |
| 113 | | ||'''Name'''||'''Default'''||'''Changeable''' |
| 114 | | ||xcache.optimizer||Off||PHP_INI_ALL |
| 115 | | |
| 116 | | '''xcache.optimizer''' ''boolean'':: |
| 117 | | Enable optimizer. |
| 118 | | |
| 119 | | == XCache Coverager == |
| 120 | | ||'''Name'''||'''Default'''||'''Changeable''' |
| 121 | | ||xcache.coverager||Off||PHP_INI_ALL |
| 122 | | ||xcache.coveragedump_directory||"/tmp/pcov/"||PHP_INI_SYSTEM |
| 123 | | |
| 124 | | '''xcache.coverager''' ''boolean'':: |
| 125 | | Enable coverage data collecting for xcache.coveragedump_directory and xcache_coverager_start/stop/get/clean() functions (will hurt executing performance) |
| 126 | | '''xcache.coveragedump_directory''' ''string'':: |
| 127 | | Directory to dump coverage data. Make sure it's readable (care open_basedir) by coverage viewer script. Requires xcache.coverager=On |
| | 32 | See XcacheIni |