1. 程式人生 > >php擴充套件AMQP,安裝報錯解決

php擴充套件AMQP,安裝報錯解決

容易出錯的地方有2個,一個是rabbitmq-c的版本不對,一個是lib64進行ln的時候要找對路徑。

參考網址:

https://segmentfault.com/a/1190000012348103
https://blog.csdn.net/qq_35772366/article/details/78932367


#root賬號
yum install gcc glibc-devel make ncurses-devel openssl-devel xmlto


#非root賬號
wget http://erlang.org/download/otp_src_18.3.tar.gz


tar xvf otp_src_18.3.tar.gz


#配置 '--prefix'指定的安裝目錄
./configure --prefix=/usr/local/erlang --with-ssl -enable-threads -enable-smmp-support -enable-kernel-poll --enable-hipe --without-javac


#安裝
make && make install




#配置erlang環境變數
vim /etc/profile
#在檔案末尾新增下面程式碼 'ERLANG_HOME'等於上一步'--prefix'指定的目錄
ERLANG_HOME=/usr/local/erlang
PATH=$ERLANG_HOME/bin:$PATH
export ERLANG_HOME
export PATH


#使環境變數生效
source /etc/profile


#輸入命令檢驗是否安裝成功
erl
#如下輸出表示安裝成功
#
#




wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.1/rabbitmq-server-generic-unix-3.6.1.tar.xz
#RabbitMQ3.6版本無需make、make install 解壓就可以用
#解壓rabbitmq,官方給的包是xz壓縮包,所以需要使用xz命令
xz -d rabbitmq-server-generic-unix-3.6.1.tar.xz
#xz解壓後得到.tar包,再用tar命令解壓
tar -xvf rabbitmq-server-generic-unix-3.6.1.tar
#移動目錄 看個人喜好
cp -rf ./rabbitmq_server-3.6.1 /usr/local/
cd /usr/local/


#修改資料夾名
mv rabbitmq_server-3.6.1 rabbitmq-3.6.1


#開啟管理頁面外掛
cd ./rabbitmq-3.6.1/sbin/
./rabbitmq-plugins enable rabbitmq_management








#啟動命令,該命令ctrl+c後會關閉服務
#./rabbitmq-server
#在後臺啟動Rabbit
#./rabbitmq-server -detached
#關閉服務
#./rabbitmqctl stop
#關閉服務(kill) 找到rabbitmq服務的pid   [不推薦]
#ps -ef|grep rabbitmq
#kill -9 ****






#新增管理員賬號


#進入RabbitMQ安裝目錄
cd /usr/local/rabbitmq-3.6.1/sbin


#新增使用者
#rabbitmqctl add_user Username Password
./rabbitmqctl add_user rabbitadmin 123456


#分配使用者標籤
#rabbitmqctl set_user_tags User Tag
#[administrator]:管理員標籤
./rabbitmqctl set_user_tags rabbitadmin administrator






#http://192.168.70.128:15672/
#
#
#
#PHP Version 5.5.7
#
#
#
#
安裝rabbitmq-c
wget https://github.com/alanxz/rabbitmq-c/releases/download/v0.5.2/rabbitmq-c-0.5.2.tar.gz
     https://github.com/alanxz/rabbitmq-c/archive/v0.5.2.tar.gz




在安裝amqp之前還需要安裝另外一個通訊擴充套件rabbitmq-c。
去github下載最新版本(目前是0.8.0)的原始碼包並解壓縮。
tar -zxvf rabbitmq-c-0.5.2.tar.gz -C .rabbitmq-c-0.5.2


cd rabbitmq-c-0.5.2/
mkdir build && cd build #這一步是在rabbitmq-c的根目錄下建立一個build子目錄


# 這一步是讓cmake根據../CMakeList.txt,即rabbitmq-c的根目錄下的CMakeList.txt建立Makefile檔案
# Makefile檔案會被建立到build目錄中
# yum install cmake
# cmake --version
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/rabbitmq-c ..


# 這一步是真正的build rabbitmq-c庫的,注意,不要漏掉點 '.'
cmake --build .  --target install


cd /usr/local/rabbitmq-c & ln -s lib64 lib


安裝amqp
從pecl官方庫中下載最新的amqp擴充套件包


wget http://pecl.php.net/get/amqp-1.4.0.tgz
tar -zxvf amqp-1.4.0.tgz


cd amqp-1.4.0
/alidata/server/php/bin/phpize
./configure --with-php-config=/alidata/server/php/bin/php-config --with-amqp --with-librabbitmq-dir=/usr/local/rabbitmq-c
make && make install




配置amqp擴充套件
vi /alidata/server/php/etc/php.ini
新增 extension=amqp.so




#重啟 php
php-fpm -v
killall php-fpm  && /alidata/server/php/sbin/php-fpm &