首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 編譯安裝 php-amqp 擴充套件完整教學 (RabbitMQ 客戶端)

     編輯:PHP 綜合知識

架構關係

`php-amqp` 是 PHP 面向 RabbitMQ 的官方擴充套件,底層依賴 **librabbitmq** (C 語言客戶端庫) 進行 AMQP 協定通訊。

版本對應關鍵

元件建議版本下載來源
librabbitmq0.5.2https://github.com/alanxz/rabbitmq-c/releases
php-amqp1.4.0https://pecl.php.net/package/amqp
版本不匹配會導致編譯失敗或執行時段錯誤,請嚴格對應。

步驟一:編譯安裝 librabbitmq

# 1. 解壓
tar -xzvf rabbitmq-c-0.5.2.tar.gz
cd rabbitmq-c-0.5.2

# 2. 生成 configure (若無)
autoreconf -i

# 3. 配置安裝路徑 (建議獨立目錄)
./configure --prefix=/usr/local/librabbitmq/0.5.2/

# 4. 編譯安裝
make && make install

步驟二:編譯安裝 php-amqp

# 1. 解壓
tar -xzvf amqp-1.4.0.tgz
cd amqp-1.4.0

# 2. phpize (需對應目標 PHP 版本)
/usr/local/php/bin/phpize

# 3. 配置 (指定 php-config 與 librabbitmq 路徑)
./configure \
  --with-php-config=/usr/local/php/bin/php-config \
  --with-amqp \
  --with-librabbitmq-dir=/usr/local/librabbitmq/0.5.2/

# 4. 編譯安裝
make && make install

步驟三:啟用擴充套件

# 1. 修改 php.ini
echo "extension=amqp.so" >> /usr/local/php/etc/php.ini

# 2. 重啟 PHP-FPM
/usr/local/php/sbin/php-fpm restart

# 3. 驗證
php -m | grep amqp
# 或
php -r "print_r(amqp_version());"

常見問題排查

  • configure 找不到 librabbitmq:確認 `--with-librabbitmq-dir` 指向 `make install` 後的實際目錄 (含 `include`、`lib` 子目錄)。
  • phpize 版本不符:多 PHP 版本共存時,務必使用目標版本的 `phpize` 與 `php-config`。
  • 缺少依賴庫:CentOS 需 `yum install gcc openssl-devel`;Ubuntu 需 `apt-get install build-essential libssl-dev`。
  • Windows 環境:不支援編譯,請下載預編譯 DLL (PECL 官網) 或改用 `php-amqplib` 純 PHP 客戶端。

驗證連線範例

$conn = new AMQPStreamConnection('localhost', 5672, 'guest', 'guest');
$channel = $conn->channel();
$channel->queue_declare('test_queue', false, true, false, false);
$channel->basic_publish(new AMQPMessage('Hello RabbitMQ!'), '', 'test_queue');
echo "Sent\n";
$channel->close();
$conn->close();
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved