How to Install Zend OPcache in Debian and Ubuntu

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
Check OPcache PHP Version
Check OPcache 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.

Verify OPcache PHP Module
Verify OPcache PHP Module

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
Check OPcache PHP Version
Check OPcache PHP Version

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
Enable OPCache on Nginx
Enable OPCache on Nginx

And that was about it as far as the installation of the Zend Opcache caching module. Your feedback is most welcome.

If you read this far, tweet to the author to show them you care. Tweet a thanks
James Kiarie
This is James, a certified Linux administrator and a tech enthusiast who loves keeping in touch with emerging trends in the tech world. When I'm not running commands on the terminal, I'm taking listening to some cool music. taking a casual stroll or watching a nice movie.

Each tutorial at TecMint is created by a team of experienced Linux system administrators so that it meets our high-quality standards.

Join the TecMint Weekly Newsletter (More Than 156,129 Linux Enthusiasts Have Subscribed)
Was this article helpful? Please add a comment or buy me a coffee to show your appreciation.

29 thoughts on “How to Install Zend OPcache in Debian and Ubuntu”

  1. 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?

    Reply
    • @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.

      Reply
  2. 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

    Reply

Got something to say? Join the discussion.

Thank you for taking the time to share your thoughts with us. We appreciate your decision to leave a comment and value your contribution to the discussion. It's important to note that we moderate all comments in accordance with our comment policy to ensure a respectful and constructive conversation.

Rest assured that your email address will remain private and will not be published or shared with anyone. We prioritize the privacy and security of our users.