Centos安裝rabbitmq的php擴展

前邊咱們介紹過怎麼安裝rabbitmq,可是想用php來調用rabbitmq但是沒那麼簡單了,整整搞了一個下午才搞定.... php

主要是兩個包 linux

1.rabbitmq-c的包 git

2.amqp的包 github

下載 apache

首先是rabbitmq-c-0.4.1.tar.gz包,能夠訪問https://github.com/alanxz/rabbitmq-c去下載最新的 vim

wget https://github.com/alanxz/rabbitmq-c/releases/download/v0.4.1/rabbitmq-c-0.4.1.tar.gz php-fpm

而後下載amqp-1.2.0.tgz,也能夠去下載最新的http://pecl.php.net/package/amqp 測試

wget http://pecl.php.net/get/amqp-1.2.0.tgz ui

安裝 .net

如今開始進行關鍵的操做了,在網上找的方法不少都有問題,這是個人安裝和配置方法,你能夠借鑑一下,可是不能保證每臺機器都可以正確的安裝哦~

先把兩個包全都解壓

tar zxvf rabbitmq-c-0.4.1.tar.gztar zxvf amqp-1.2.0.tgz

兩個是有前後順序的哦~

安裝rabbitmq-c-0.4.1

cd rabbitmq-c-0.4.1./configure --prefix=/usr/local/rabbitmq-c-0.4.1

最後顯示一下內容表示正常

rabbitmq-c build options:Host: x86_64-unknown-linux-gnuVersion: 0.4.1SSL/TLS: opensslTools: yesDocumentation: noExamples: yes

而後進行make和安裝了.

make && make install

若是沒有報錯,那就是安裝成功了,要是有錯誤,請在本文章下邊回覆,咱們一塊兒研究,嘿嘿~~

  安裝amqp-1.2.0

cd amqp-1.2.0phpize

執行完phpize命令後你應該看到相似下邊的內容

Configuring for:PHP Api Version: 20100412Zend Module Api No: 20100525Zend Extension Api No: 220100525

要是沒有這個命令的話須要安裝一下

yum install php-devel

要是本身安裝的php的話 可能須要本身查找一下啦~~~

find / -name phpize

以上這兩步是沒有phpize這個命令的才須要執行哦~~~

而後是configure,這個要根據你我的環境本身修改內容,這裏展現的是個人

./configure --with-php-config=/usr/bin/php-config --with-amqp --with-librabbitmq-dir=/usr/local/rabbitmq-c-0.4.1/

PS:這裏解釋一下

--with-php-config=/usr/bin/php-config 這個php-config根據你裝的php而定,要是找不到請用find / -name php-config查找--with-librabbitmq-dir=/usr/local/rabbitmq-c-0.4.1/ 這個是指定你安裝的rabbitmq-c的目錄,我安裝的是/usr/local/rabbitmq-c-0.4.1/由於在安裝rabbitmq-c的 時候我本身指定了安裝目錄了.

而後進行make和安裝了

make && make install

這個應該不會出現什麼問題.

在make install完成後他會提示

Installing shared extensions: /usr/lib64/php/modules/

 以上是正常狀況下,要是你本身編譯的php,那麼他會提示你別的路徑,此時你須要找到這個路徑裏邊的amqp.so文件,將他拷貝到/usr/lib64/php/modules/下.

最後安裝完amqp後還不算完,我們還要讓php加載這個擴展,這個挺簡單的,編輯php.ini文件添加一下內容

vim /etc/php.ini[rabbitmq]extension=amqp.so

這個隨便找一個位置就能夠了,以後我們重啓apache或者是php-fpm了

service httpd restartservice php-fpm restart

根據實際狀況選擇以上的命令.

php測試腳本

php測試rabbitmq的php擴展插件腳本

<?php$cnn = new AMQPConnection();$cnn->setHost('127.0.0.1');$cnn->setLogin('guest');$cnn->setPassword('guest');if($cnn->connect()){echo '鏈接成功';}?>

錯誤分析

PS:要是你在執行php測試文件的時候提示你一下信息,你須要看看你的amqp.so是否是在下面提示的文件夾中了,要是沒有那你須要看看你在make install完amqp後他提示的那個路徑,按照我上邊紅色的標識執行操做試試.

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/amqp.so' - /usr/lib64/php/modules/amqp.so: cannot open shared object file: No such file or directory in Unknown on line 0

相關文章
相關標籤/搜索