Md Obydullah Follow I'm Md Obydullah. I build open-source projects and write about Laravel, Linux server, modern JavaScript and web development.

Install APCu (Alternative PHP Cache) on CentOS / RHEL 8

Last modified on October 17, 2019 1 min read

In this guide, I’m going to show how to install APCu on CentOS 8 or RHEL 8. Let’s follow these steps:

Table of Contents

  1. Login to Server
  2. Install APCu
  3. Dependency Packages for APCu
  4. Restart Web Server
  5. APCu Admin Page
  6. Config APCu
  7. Store and Fetch Data

Step 1 : Login to Server

We have to login to our server via SSH. Open your terminal and login to the server:

ssh [email protected] -p PORT

Step 2 : Install APCu

We have to install Remi Repository in our server. If you don’t have then install by using this command:

sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm

Now run this command to install APCu:

sudo yum install php-pecl-apcu

Step 3 : Dependency Packages for APCu

By entering this command, let’s install dependency packages for APCu:

sudo yum install php-pear httpd-devel pcre-devel gcc make

Step 4 : Restart Web Server

Finally restart your web server to enable APCu:

#apache
sudo systemctl restart httpd
#php-fpm
sudo systemctl restart php-fpm

Now check your phpinfo(); script to see APCu is installed or not:

Step 5 : APCu Admin Page

This is an optional step. I’m sharing a PHP file. You need to keep this file to your domain’s public html folder to see APCu admin page. Download this file from GitHub:

Now visit the file from browser (http://web-address/apcu.php):

The default username and password is: admin, admin. You can change this from the apcu.php file:

#0 or 1. 0 for disable user and pass
defaults('USE_AUTHENTICATION',0);

defaults('ADMIN_USERNAME','admin');
defaults('ADMIN_PASSWORD','admin');

Step 6 : Config APCu

We can easily configure APCu. Open /etc/php.ini file and add value like this:

#Enable/Disable
apc.enabled=1
# Memory Segments
apc.shm_size=512M
## PHP file cache 1 hour ##
apc.ttl=3600
## User cache 2 hour ##
apc.user_ttl=7200
## Garbage collection 1 hour ##
apc.gc_ttl=3600

We need to restart the webserver again. This link will help you APCu Runtime Configuration.

Step 7 : Store and Fetch Data

Create a file named cache.php and paste this code:

<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
date_default_timezone_set('Asia/Dhaka');

$cache_name = "test_c_1";
$expire_time = 10;

if (apcu_exists($cache_name) && !isset($_GET['reload-cache'])) {
	echo 'Load from Cache:<br>';
  $data = apcu_fetch($cache_name);
}
else {
	echo 'Cache Miss!<br>';
	$data = Date("d M, Y - h:i:s");
	apcu_store($cache_name, $data, $expire_time);
}

echo $data;

Now visit the http://web-address/cache.php to see the output.

The article is over. Thank you. 🙂

You're welcome to suggest any article to write!

Md Obydullah Follow I'm Md Obydullah. I build open-source projects and write about Laravel, Linux server, modern JavaScript and web development.

Leave a Reply

Your email address will not be published. Required fields are marked *