centos 安裝AMQP擴展的方法和步驟
Centos安裝rabbitmq的php擴展(親測通過)
主要是兩個包
1.rabbitmq-c的包
2.amqp的包
下載
首先是rabbitmq-c-0.4.1.tar.gz包,可以訪問https://github.com/alanxz/rabbitmq-c去下載最新的
wget https://github.com/alanxz/rabbitmq-c/releases/download/v0.4.1/rabbitmq-c-0.4.1.tar.gz
然後下載amqp-1.2.0.tgz,也可以去下載最新的http://pecl.php.net/package/amqp
wget http://pecl.php.net/get/amqp-1.2.0.tgz
安裝
現在開始進行關鍵的操作了,在網上找的方法很多都有問題,這是我的安裝和配置方法,你可以借鑑一下,但是不能保證每臺機器都能夠正確的安裝哦~
先把兩個包全都解壓
tar zxvf rabbitmq-c-0.4.1.tar.gz
tar 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-gnu
Version: 0.4.1
SSL/TLS: openssl
Tools: yes
Documentation: no
Examples: yes
然後進行make和安裝了.
make && make install
如果沒有報錯,那就是安裝成功了,要是有錯誤,請在本文章下邊回覆,我們一起研究,嘿嘿~~
安裝amqp-1.2.0
cd amqp-1.2.0
phpize
執行完phpize命令後你應該看到類似下邊的內容
Configuring for:
PHP Api Version: 20100412
Zend Module Api No: 20100525
Zend 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
extension_dir = "/usr/lib64/php/modules/"
這個隨便找一個位置就可以了,之後咱們重啓apache或者是php-fpm了
service httpd restart
service 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 '連接成功';
}
?>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.