This article was earlier written for APC (Alternative PHP Cache), but APC is deprecated and no longer working with PHP 5.4 onwards, now you should use OPcache for better and faster performance as explained in this article…
OpCache is an advanced caching module based on opcode that works similar to other caching solutions. It significantly improves PHP performance, and your website by extension, by storing your site’s pre-compiled PHP pages in shared memory. This eliminates the need for PHP to constantly load these pages on each request by the server.
[ You might also like: 10 Top Open Source Caching Tools for Linux ]
In this guide, we will walk you through the installation of the Zend OPcache in Debian-based Linux distributions such as Ubuntu and Mint.
For demonstration purposes, we will use Ubuntu 20.04 and show you how you can install and enable the module both on Apache and Nginx web servers.
Install and Configure PHP OPcache for Apache
To set the ball rolling, launch your terminal and update your package index:
$ sudo apt update
Next, install Apache web server, PHP, and PHP modules including the php-opcache module as follows.
$ sudo apt install apache2 libapache2-mod-php php-curl php-mbstring php-opcache php-mysql php-xml php-gd
The command installs the latest Apache web server and PHP 7.4 and associated extensions. To verify the version of PHP installed, run the command:
$ php --version
The next step is to enable the OPcache caching module. Therefore, edit the php.ini configuration file.
$ sudo nano /etc/php/7.4/apache2/php.ini OR $ sudo vim /etc/php/7.4/apache2/php.ini
Locate and uncomment the following lines
opcache.enable=1 opcache.memory_consumption=128 opcache.max_accelerated_files=10000 opcache.revalidate_freq=200
Save the changes and exit.
Then restart Apache to apply the changes.
$ sudo systemctl restart apache2
Finally, verify that Opcache has been enabled as follows:
$ php -i | grep opcache
The following output will be displayed on your screen.
This is proof enough that the Opcache module has been successfully installed.
Install and Configure PHP OPcache for Nginx
If you are planning to have Nginx as your webserver of choice and still have Opcache installed, follow the steps below.
Install Nginx, PHP, and associated PHP extensions as before.
$ sudo apt install nginx php php-fpm php-cli php-curl php-mbstring php-opcache php-mysql php-xml php-gd
Once again, confirm the PHP version installed.
$ php -v
Next, access the php.ini configuration file to enable Opcache.
$ sudo nano /etc/php/7.4/fpm/php.ini OR $ sudo vim /etc/php/7.4/fpm/php.ini
As before, uncomment the following lines to enable Opcache for Nginx.
opcache.enable=1 opcache.memory_consumption=128 opcache.max_accelerated_files=10000 opcache.revalidate_freq=200
Save the changes and exit.
Then restart the Nginx web server and PHP-FPM service.
$ sudo systemctl restart nginx php7.4-fpm
Finally, confirm that Opcache was successfully installed:
$ php -i | grep opcache
And that was about it as far as the installation of the Zend Opcache caching module. Your feedback is most welcome.
Hi Ravi. Thanks for publishing this. I was able to use your instructions to install APC on my server’s default PHP version without a problem. However, I’m running a few other versions of PHP on the same server, and I’d like to use it on one of those, specifically PHP 5.6.35.
I installed that with Plesk and the path to the php.d directory is /opt/plesk/php/5.6/etc/php.d. I tried placing the apc.ini file there, but that didn’t work. I also tried adding the directive “extension=apc.so” directly to that PHPs php.ini file. It’s still not running.
Do you have any advice to get this working?
@James,
I suggest you to compile APC for your PHP 5.6 version to /opt/plesk/php/5.6/etc/php.d directory.. This is the only solution, I think.
Hello,
I am working on one of my client’s project scislides.com which loads up very very slowly. I was going through the possible fix and came across below one but not sure whether this would work or not. Can somebody help?
How to fix – Page Cache Test (Server Side Caching)
In order to pass this test, you are advised to use a caching mechanism for your pages. There are three methods which can be used to caching your web pages:
Alternative PHP caching
– Alternative PHP Cache (APC) is an open source framework which caches data using intermediate PHP code. Most web programmers who are familiar with the PHP programming language can easily set up Alternative
PHP Cache for your site.
Quickcache
– Quickcache is a lightweight page caching solution which was formerly known as jpcache. Quickcache caches the page output rather than compiling the PHP page, making it a superior version of page caching to the Alternative PHP caching. Quickcache can be quickly downloaded from their website and can reduce your page load time up to 80%.
WP Super Cache
– If you have a WordPress website, WP Super Cache can be installed within seconds and without no programming knowledge.
Regards
Mary Rax
Good Tutorial, installed with no problems. Thanks for Share
where can I find the version 3.1.15-dev to Centos?
thank you
Best regards
@Alessandro,
I am sorry but apc deprecated, now you should use opcache with PHP 5.4 onwards for better and faster performance..