1. 程式人生 > >php 的rabbitmq 擴展模塊amqp安裝

php 的rabbitmq 擴展模塊amqp安裝

mark you -a color proto sin fff configure ESS

error 提示:

Please reinstall the librabbitmq distribution itself or (re)install librabbitmq development package if it available in your system

或者
checking for amqp using pkg-config... configure: error: librabbitmq not found

或者
ERROR: `/tmp/pear/temp/amqp/configure --with-php-config=/usr/local/php/bin/php-config --with-librabbitmq-dir=/usr/local/lib64/l‘ failed

rabbitmq-c 升級到0.9版本了,許多0.7的方法有些變動,按照舊方法嘗試多次,失敗

第一步安裝 librabbitmq

安裝librabbitmq有兩種方法,具體方法如下:

第一種方法:

直接使用yum 安裝 librabbitmq , 該方法有可能行不通,就是你的YUM環境配置的問題,搜索不到librabbitmq,就無法安裝, 那就要轉到到下面的第二種方法
技術分享圖片
此種方法是安裝成功了(使用的阿裏雲yum源),但依舊沒起作用(是因為倉庫裏是0.8版本的)

第二種方法:源碼安裝rabbitmq-c-0.9.0

下載地址為:wget https://github.com/alanxz/rabbitmq-c/archive/v0.9.0.tar.gz

tar -zxvf   v0.9.0-master.tar.gz

cd    rabbitmq-c-0.9.0-master

mkdir build && cd build
cmake ..
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/rabbitmq-c/0.9 .. // 指定安裝目錄!important!

 cmake --build . --target install // 這一步是真正的build rabbitmq-c庫的,註意,不要漏掉點 ‘.‘

安裝完畢之後,就可以繼續安裝amqp

第二步安裝amqp

運行命令:

/usr/local/php/bin/pecl install amqp 

運行該命令會出現如下提示,

Set the path to librabbitmq install prefix [autodetect] :

如果你是用第一種方法 yum 直接安裝的librabbitmq,就直接按回車就可以,如果是第二種方法,就需要將安裝rabbitmq-c-0.9.0的目錄輸入進去 /usr/local/rabbitmq-c/0.9 然後按回車。

第三步就是添加擴展模塊

amqp安裝完成之後,系統會提示你要你將amqp.so 擴展模塊加入到PHP的配置文件

重啟 php-fpm

第四部檢查amqp模塊安裝

使用命令phpinfo 就可以查看,出現如下,就表示安裝成功

AMQP protocol version 0-9-1 
librabbitmq version 0.5.2

-----------------------------------隔--安裝可能會碰到的錯誤,神坑~-------------------------------------------

1.rabbitmq-c 的安裝過程中,一定要記的手工指定安裝目錄 /usr/local/rabbitmq-c/0.9
2.rabbitmq-c 的安裝過程中,命令行中的點”.”千萬別漏
3.安裝 amqp PHP 擴展過程中,有些機器會出現以下情況,原因就是 rabbitmq-c 生成時lib的目錄為 /usr/local/rabbitmq-c/0.9/lib64 ,此時最好的做法時,直接把 /usr/local/rabbitmq-c/0.9/lib64 改為 /usr/local/rabbitmq-c/0.9/lib 即可.

[28-Apr-2019 15:52:32 UTC] PHP Warning:  PHP Startup: Unable to load dynamic library ‘amqp.so‘ (tried: /usr/local/php/lib/php/extensions/no-debug-non-zts-20170718/amqp.so (librabbitmq.so.4: cannot open shared object file: No such file or directory), /usr/local/php/lib/php/extensions/no-debug-non-zts-20170718/amqp.so.so (/usr/local/php/lib/php/extensions/no-debug-non-zts-20170718/amqp.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0

參考詳細坑
記錄Centos下RabbitMQ安裝PHP擴展的詳細過程以及遇到的各種坑

php 的rabbitmq 擴展模塊amqp安裝