Install the PHP Memcached extension
The PHP memcached extension provides client access to the Memcached server.
The memcached extension supports PHP 7.0 through 8.4. The memcached extension is not yet supported in PHP 8.5.
Install the Memcached extension
Installing the extension involves the following steps:
- Install build dependencies (packages that are required to build the extension).
- Build the extension’s library file.
- Enable the extension in the PHP configuration.
Install build dependencies
Set environment variables for the package manager.
export DEBIAN_FRONTEND=noninteractiveInstall a compiler and other packages that are required for building PHP extensions.
sudo apt-get -y install gcc g++ make autoconf libc-dev pkg-configInstall additional packages that are required to build the Memcached extension.
sudo apt-get -y install zlib1g-dev libmemcached-devBuild the extension
The PECL install command compiles the extension’s .so library file.
sudo pecl8.4-sp install memcachedsudo pecl8.3-sp install memcachedsudo pecl8.2-sp install memcachedsudo pecl8.1-sp install memcachedsudo pecl8.0-sp install memcachedsudo pecl7.4-sp install memcachedsudo pecl7.3-sp install memcachedsudo pecl7.2-sp install memcachedsudo pecl7.1-sp install memcachedsudo pecl7.0-sp install memcachedThe above command will prompt you to answer multiple questions. When shown the enable sasl prompt, type “no” and then press Enter. For all other prompts, just press Enter.
For example:
zlib directory [no] :
use system fastlz [no] :
enable igbinary serializer [no] :
enable msgpack serializer [no] :
enable json serializer [no] :
enable server protocol [no] :
enable sasl [yes] : no
enable sessions [yes] :Enable the extension
Configure PHP to load the extension.
sudo bash -c "echo extension=memcached.so > /etc/php8.4-sp/conf.d/memcached.ini"sudo bash -c "echo extension=memcached.so > /etc/php8.3-sp/conf.d/memcached.ini"sudo bash -c "echo extension=memcached.so > /etc/php8.2-sp/conf.d/memcached.ini"sudo bash -c "echo extension=memcached.so > /etc/php8.1-sp/conf.d/memcached.ini"sudo bash -c "echo extension=memcached.so > /etc/php8.0-sp/conf.d/memcached.ini"sudo bash -c "echo extension=memcached.so > /etc/php7.4-sp/conf.d/memcached.ini"sudo bash -c "echo extension=memcached.so > /etc/php7.3-sp/conf.d/memcached.ini"sudo bash -c "echo extension=memcached.so > /etc/php7.2-sp/conf.d/memcached.ini"sudo bash -c "echo extension=memcached.so > /etc/php7.1-sp/conf.d/memcached.ini"sudo bash -c "echo extension=memcached.so > /etc/php7.0-sp/conf.d/memcached.ini"Restart PHP-FPM.
sudo service php8.4-fpm-sp restartsudo service php8.3-fpm-sp restartsudo service php8.2-fpm-sp restartsudo service php8.1-fpm-sp restartsudo service php8.0-fpm-sp restartsudo service php7.4-fpm-sp restartsudo service php7.3-fpm-sp restartsudo service php7.2-fpm-sp restartsudo service php7.1-fpm-sp restartsudo service php7.0-fpm-sp restartVerify the extension is enabled in PHP.
php8.4-sp -i | grep memcachedphp8.3-sp -i | grep memcachedphp8.2-sp -i | grep memcachedphp8.1-sp -i | grep memcachedphp8.0-sp -i | grep memcachedphp7.4-sp -i | grep memcachedphp7.3-sp -i | grep memcachedphp7.2-sp -i | grep memcachedphp7.1-sp -i | grep memcachedphp7.0-sp -i | grep memcachedIf the extension is enabled, you will see output like the following.
memcached support => enabledUninstall the Memcached extension
Uninstalling the extension involves the following steps:
- Disable the extension in the PHP configuration.
- Remove the extension’s library file.
Disable the extension
Remove the extension’s configuration from PHP.
sudo rm /etc/php8.4-sp/conf.d/memcached.inisudo rm /etc/php8.3-sp/conf.d/memcached.inisudo rm /etc/php8.2-sp/conf.d/memcached.inisudo rm /etc/php8.1-sp/conf.d/memcached.inisudo rm /etc/php8.0-sp/conf.d/memcached.inisudo rm /etc/php7.4-sp/conf.d/memcached.inisudo rm /etc/php7.3-sp/conf.d/memcached.inisudo rm /etc/php7.2-sp/conf.d/memcached.inisudo rm /etc/php7.1-sp/conf.d/memcached.inisudo rm /etc/php7.0-sp/conf.d/memcached.iniRestart PHP-FPM.
sudo service php8.4-fpm-sp restartsudo service php8.3-fpm-sp restartsudo service php8.2-fpm-sp restartsudo service php8.1-fpm-sp restartsudo service php8.0-fpm-sp restartsudo service php7.4-fpm-sp restartsudo service php7.3-fpm-sp restartsudo service php7.2-fpm-sp restartsudo service php7.1-fpm-sp restartsudo service php7.0-fpm-sp restartRemove the extension
The PECL uninstall command removes the extension’s .so library file.
sudo pecl8.4-sp uninstall memcachedsudo pecl8.3-sp uninstall memcachedsudo pecl8.2-sp uninstall memcachedsudo pecl8.1-sp uninstall memcachedsudo pecl8.0-sp uninstall memcachedsudo pecl7.4-sp uninstall memcachedsudo pecl7.3-sp uninstall memcachedsudo pecl7.2-sp uninstall memcachedsudo pecl7.1-sp uninstall memcachedsudo pecl7.0-sp uninstall memcached