Zend have contributed their Zend Optimizer+ opcode cache to PHP - thanks Zend!!!
"The Zend Optimizer+ provides faster PHP execution through opcode caching and optimization."
The new "opcache" can be seen as substitute for the venerable APC cache, the maintenance of which had become an issue. Note: although opcache is now readily available, there is currently nothing preventing you from using any available (working!) opcode cache in PHP 5.5.
A few minutes ago Dmitry Stogov did the physical merge to the PHP
5.5 source's ext/opcache
directory. The current PHP 5.5 snapshot has the code.
Future Alpha or Beta (and Production) releases will include it
too.
Please test opcache. It is not a panacea for all performance problems. There are a lot of settings which may need adjusting. Understanding how it works and identifying issues during the stabilization phase of PHP 5.5 release process will greatly help.
To build the Zend Optimizer+ "opcache" for PHP 5.5:
When you configure PHP, add the option --enable-opcache
like:
./configure ... --enable-opcache
Then make
and make install
, as normal. This
will build opcache shared extension. It's not possible to build it
statically.
Find the shared library in your installation directory with a command likefind /home/cjones/php55 -name opcache.so
Edit php.ini
and add the extension with its full path:
zend_extension=/home/cjones/php55/lib/php/extension/debug-non-zts-20121212/opcache.so
You'll want to enable opcache too:
opcache.enable=On
The ext/opcache/README is the current source of documentation, and
lists all the other php.ini
parameters.
Problems can be reported in the Github issue tracker
To build the Zend Optimizer+ "opcache" for older versions of PHP:
You should be able to build opcache with PHP 5.2 onwards
Install it by getting the source from Github. There is also a PECL repository; this is slightly out of date so I recommend using Github. Follow the README instructions to install it.
User-data cache:
The new opcode cache does not include a user-data cache. Joe Watkins recently started the APCu project to extract the user-data cache code from APC. Test this too!