PHP is one of the most popular programming language for developing applications, you will find it on every web hosting server. The most popular Content Management Systems (CMSs) are written in PHP, such as WordPress, Drupal, and Joomla.
One of the many reasons why PHP is well known out there is because it has numerous extensions in its default distribution, an example is OPcahce.
What is Opcache and How Does it Work?
Originally known as Zend Optimizer+, Opcache (introduced in PHP 5.5.0) is a powerful PHP extension built to enhance PHP performance thus boosting overall application performance. It is available as an extension through PECL for PHP versions 5.2, 5.3 and 5.4. It works by storing pre-compiled script byte-code in shared memory, thereby removing the need for PHP to load and parse scripts on each request.
In this article, we will explain how to install and configure OPcache in CentOS 7 for a specific PHP version.
Install Opcache PHP Extension in CentOS 7
1. First start by installing the EPEL repository and followed by the REMI repository on your system, as follows.
# yum update && yum install epel-release # yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
2. Next, you need to install yum-utils, a collection of utilities to extend yum’s default features; they help you manage yum repositories as well as packages without any manual configuration and more.
# yum install yum-utils
3. Once you have yum-utils installed, use yum-config-manager to enable Remi repository as the default repository for installing different PHP versions and modules.
# yum-config-manager --enable remi-php55 #For PHP 5.5 # yum-config-manager --enable remi-php56 #For PHP 5.6 # yum-config-manager --enable remi-php70 #For PHP 7.0 # yum-config-manager --enable remi-php71 #For PHP 7.1 # yum-config-manager --enable remi-php72 #For PHP 7.2
4. Now install Opcache extension and verify your PHP version to confirm that it has Opcache extension installed using following commands.
# yum install php-opcache # php -v
Configure Opcache PHP Extension in CentOS 7
5. Next, configure OPcache by editing the /etc/php.d/10-opcache.ini (or /etc/php.d/10-opcache.ini) file using your favorite editor.
# vim /etc/php.d/10-opcache.ini
The following settings should get you started with using OPcache and are generally recommended as good performance. You can enable a configuration by uncommenting it.
opcache.enable_cli=1 opcache.memory_consumption=128 opcache.interned_strings_buffer=8 opcache.max_accelerated_files=4000 opcache.revalidate_freq=60 opcache.fast_shutdown=1
6. Finally, restart your web server for Opcache to start working.
# systemctl restart nginx OR # systemctl restart httpd
That’s all! Opcache is a PHP extension built to improve PHP performance. In this article, we have explained how to install and configure OPcache in CentOS 7. If you have any questions, reach us via the comments form below.
6 thoughts on “Install OPCache to Improve PHP Performance in CentOS 7”
Hello Aaron. Thanks for the great advice. I followed your advice here and it REALLY speed things up with WordPress (since it is a PHP script essentially). I have PHP 7.2 and checking the
php -vprior to following your advice opcache was not enabled. The speed boost was truly worth the effort! Much appreciated!
Oh, what I’m saying – actually nginx IS a web server, but in this case it’s still better to restart php-fpm instead of nginx
Oh, yes, you need to actually restart both nginx and php-fpm. Many thanks for the useful addition, we will update the article to reflect this.
nginx isn’t web-server, it’s better to restart php-fpm in such case :)
To be more secure and faster, if you install php7. Turns out opcaching is already compiled into it.
Great, many thanks for sharing.