HTML Logo by World Wide Web Consortium ( Click to learn more about our commitment to accessibility and standards.

Moving forward with Composr

ocPortal has been relaunched as Composr CMS. ocPortal 9 is superseded by Composr 10.

Head over to for our new site, and to our migration roadmap. Existing ocPortal member accounts have been mirrored.

PHP cache extensions sure needs some work

PHP cache extensions sure needs some work PHP cache extensions: So many choices, so many bugs!

There are quite a few extensions for PHP designed to accelerate scripts and to be able to cache data between requests (so it doesn't need constantly reloading from disk/database):
  • eaccelerator
  • APC
  • xcache
  • wincache (Windows-only)
  • (Zend optimizer - defunct/does not cache)
  • (mmcache - the predecessor to eaccelerator, defunct)
  • (ioncube - defunct)
The next ocPortal version has improved support for them all, as part of our optimisation efforts. Updating our own site though, we found installing these extensions is not as easy as it should be:
  • eaccelerator suddenly and quietly dropped caching support in the version that supports PHP 5.3. So goodbye to that being useful again. And this is not actually mentioned in the latest documentation on the site, which still documents the missing functionality.
  • The eaccelerator bundled in most Linux distributions does not work with open_basedir, generating errors on each page request (and probably does not have caching support unless someone bundled a custom version).
  • The APC bundled in most Linux distributions has been generating unstoppable alerts about not being able to fit everything in the cache (you'd normally expect this, as you only put the most common stuff in the cache). Also it generates quite a few errors if you ever try and save the same thing twice in the same request (which ocPortal needs to).
  • xcache crashed Apache as soon as we compiled and installed it.
All in all, a very sorry state of affairs!

However, APC is being brought in closer to the main PHP development process and is receiving some love, and the latest version seems fine, so fingers crossed things will work better once this gets into Linux distributions.

View all


There have been no trackbacks yet