php 的rabbitmq 擴展模塊amqp安裝

error 提示:php

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的方法有些變更,按照舊方法嘗試屢次,失敗html

第一步安裝 librabbitmq

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

第一種方法:

直接使用yum 安裝 librabbitmq , 該方法有可能行不通,就是你的YUM環境配置的問題,搜索不到librabbitmq,就沒法安裝, 那就要轉到到下面的第二種方法
php 的rabbitmq 擴展模塊amqp安裝
此種方法是安裝成功了(使用的阿里雲yum源),但依舊沒起做用(是由於倉庫裏是0.8版本的)github

第二種方法:源碼安裝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庫的,注意,不要漏掉點 '.'

安裝完畢以後,就能夠繼續安裝amqpide

第二步安裝amqp

運行命令:php-fpm

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

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

Set the path to librabbitmq install prefix [autodetect] :

若是你是用第一種方法 yum 直接安裝的librabbitmq,就直接按回車就能夠,若是是第二種方法,就須要將安裝rabbitmq-c-0.9.0的目錄輸入進去 /usr/local/rabbitmq-c/0.9 而後按回車。阿里雲

第三步就是添加擴展模塊.net

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擴展的詳細過程以及遇到的各類坑

相關文章
相關標籤/搜索