Skip to content

Install the PHP AMQP extension

The AMQP extension provides PHP functions for communicating with AMQP-compatible servers such as RabbitMQ.

The AMQP extension supports PHP 5.6+. To use the latest version of the AMPQ extension, you will need PHP 7.4+.

Install the AMQP extension

Installing the extension involves the following steps:

  1. Install build dependencies (packages that are required to build the extension).
  2. Build the extension’s library file.
  3. Enable the extension in the PHP configuration.

Install build dependencies

Set environment variables for the package manager.

Terminal window
export DEBIAN_FRONTEND=noninteractive

Install a compiler and other packages that are required for building PHP extensions.

Terminal window
sudo apt-get -y install gcc g++ make autoconf libc-dev pkg-config

Install additional packages that are required to build the AMQP extension.

Terminal window
sudo apt-get -y install libssl-dev librabbitmq-dev

Build the extension

The PECL install command compiles the extension’s .so library file.

Terminal window
yes '' | sudo pecl8.4-sp install amqp

Enable the extension

Configure PHP to load the extension.

Terminal window
sudo bash -c "echo extension=amqp.so > /etc/php8.4-sp/conf.d/amqp.ini"

Restart PHP-FPM.

Terminal window
sudo service php8.4-fpm-sp restart

Verify the extension is enabled in PHP.

Terminal window
php8.4-sp -i | grep amqp

If the extension is enabled, you will see output like the following.

Additional .ini files parsed => /etc/phpX.Y-sp/conf.d/amqp.ini,
amqp
amqp.auto_ack => 0 => 0
amqp.cacert => no value => no value
amqp.cert => no value => no value
amqp.channel_max => 256 => 256
amqp.connect_timeout => 0 => 0
amqp.deserialization_depth => 128 => 128
amqp.frame_max => 131072 => 131072
amqp.global_prefetch_count => 0 => 0
amqp.global_prefetch_size => 0 => 0
amqp.heartbeat => 0 => 0
amqp.host => localhost => localhost
amqp.key => no value => no value
amqp.login => guest => guest
amqp.password => guest => guest
amqp.port => 5672 => 5672
amqp.prefetch_count => 3 => 3
amqp.prefetch_size => 0 => 0
amqp.read_timeout => 0 => 0
amqp.rpc_timeout => 0 => 0
amqp.sasl_method => AMQP_SASL_METHOD_PLAIN => AMQP_SASL_METHOD_PLAIN
amqp.serialization_depth => 128 => 128
amqp.timeout => no value => no value
amqp.verify => 1 => 1
amqp.vhost => / => /
amqp.write_timeout => 0 => 0

Uninstall the AMQP extension

Uninstalling the extension involves the following steps:

  1. Disable the extension in the PHP configuration.
  2. Remove the extension’s library file.

Disable the extension

Remove the extension’s configuration from PHP.

Terminal window
sudo rm /etc/php8.4-sp/conf.d/amqp.ini

Restart PHP-FPM.

Terminal window
sudo service php8.4-fpm-sp restart

Remove the extension

The PECL uninstall command removes the extension’s .so library file.

Terminal window
sudo pecl8.4-sp uninstall amqp