XCache is a open-source opcode cacher, which means that it accelerates the performance of PHP on servers. It optimizes performance by removing the compilation time of PHP scripts by caching the compiled state of PHP scripts into the shm (RAM) and uses the compiled version straight from the RAM. This will increase the rate of page generation time by up to 5 times as it also optimizes many other aspects of php scripts and reduce serverload. The XCache project is lead by mOo who is also a developer of Lighttpd. Lighttpd is one of the fastest webserver programs and outperforms Apache and many other open source webserving projects so the same is being done to XCache. Feature of XCache
- Optimized opcode cache. apc, eaccelerator are also good opcode caches.
- Using a generator to produce C code, reduces human mistake greatly.
- Running stable on PHP_4_3/PHP_4_4/PHP_5_1/PHP_5_2
- Supported and tested on all lastest php cvs branches, such as PHP_4_3 PHP_4_4 PHP_5_0 PHP_5_1 PHP_5_2 HEAD (6.x)
- Alpha supported for in-alpha-php6, with unicode enabled.
- Readonly Cacher Protection that prevents the cache from being corrupted by php-core/extension or any code other than XCache itself.
- Atomic get/set/inc/dec api operation on var cache for php programmers.
- XCache Uptime statistics collector (enabled by server admin), shows you how stable each XCache version is on each php version. [TODO#1]
- Self sanity test at build time, discover C struct changes within the php script engine. catch up with new php version easier. see a real life example (notice the message 18, 19)
- Automatically disables itself if the cache is corrupted [TODO#2]
- Optimizer [TODO]
- Encoder/Decoder?(Loader) [TODO]
- Disassembler. See how your php script is compiled into opcode. (not with enterprise encoder)
- Decompiler. decompile opcode into php code. (only half working, and not for enterprise encoder)
- Coverager + real life testcase framework, this include: [TOSHARE]
- real life testcase framework, a control script with real browser. you have to write the test cases.
- builtin Coverager + its viewer from web, to see how much script you have tested.
- the testcase+Coverager just help you make sure all real life php web applications is running correctly when
- after enabling XCache
- after upgrading php4 to php5
- after upgrading php4/5 to php6
- Administrator Script
- view statistics
- to see if it`s AutoDisableOnCorrupted? [TODO]
- view cached php/variable list
- clear cache
- Late Class Inherit works just fine. see
(0.11MB, Extension: GZ)
Download alternate to XCache solution
Look at the free or trial alternatives and similar apps to XCache software by the tags. It's possible also to find substitutes for the most popular titles in the Website Building category.
History updates (Complete changelogs since the listing on this site)
Other versions : 3.1.0 3.0.3 3.0.2 3.0.0 2.0.1 2.0.0 1.3.2
4 * added support for PHP_5_5 (cacher, optimizer, disassembler)5 * cacher:6 * closed #228: allow using var caching for cli to share data between child processes7 * compatible with pcntl_fork()8 * fixed support for __FILE__ __DIR__ to correctly handle files that got moved/hardlinked (this fix is now move out of xcache.experimental)9 * disassembler:10 * fixed crash with nested sandbox11 * improved support for PHP_4 ~ PHP_5_4, also added support for PHP_5_512 * admin13 * make mkpassword.php easier for noob14 * optimizer15 * rewrite try/catch handling to fix nested try/catch16173.0.4 2013-10-1018ChangeLog19
3 * clean files in release (fix htdocs config)453.0.2 2013-06-106ChangeLog7
4 * fixes #303: tablesort.js not found in Diagnosis and Coverager5 * fixes #297: segv on startup under sparc, ini setting overflow6 * fixes #296: (PHP5.4+ only bug), racecondition Multiple instances of the same software causes PHP "cannot redeclare class" errors when readonly_protection is not in use7 * fixes #301: refix locking impl8 * fixes #307: compatible with Zend Debugger which requires to be installed after Zend Extension Manager9103.0.1 2013-01-1111ChangeLog12
4 * chg: proto array xcache_clear_cache(int type, [ int id = -1 ]). -1 means all cache splits5 * new: proto array xcache_enable_cache(int type, [ int id = -1, [ bool enable = true ] ])6 * new: proto array xcache_admin_namespace()7 * new: proto array xcache_set_namespace(string namespace)89Ini Settings Changes10
4 * fixed #279: segv when cache is full (since 2.0)5 * fixed #281: subsequenc request segv when timeout happens during compiling6 * admin/ config changed. please update accordingly7 * WIN32: kill invalidate CRT parameters on shutdown8 * fixed: <=PHP_5_2 duplicate error message failed to include file9 * fixed #283: XCache admin APIs (admin page) cause SEGV if XCache failed to initize10 * fixed possible re-include a file by mixing include/include_once11 * fixed #264, #284: __FILE__ __DIR__ handling for moved/hardlinked files (set "xcache.experimental = on" to eanble this fix)12132.0.0 2012-04-2014Ini Settings Changes15
4 * new: xcache.experimental = Off56ChangeLog7
Predicted future versions and notices:
The doDownload.com constantly monitors the update of all programs, including information from the XCache 3.2.1 changelog file, however sometimes it can happen that data are not complete or are outdated.We assume that author continue's to develop 3.3.0 version with further advanced features, and soon you will be informed. Equally important 4.0.0 upgrades of the program we will continue to monitor. Full XCache description has been compared with the overall software database and our algorithm has found the following applications (are showed below).