php 的rabbitmq 擴展模塊amqp安裝
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安裝