安装rabbitmq-c
#下载
wget https://github.com/alanxz/rabbitmq-c/archive/v0.10.0.tar.gz
# 解压
tar -zvxf v0.10.0.tar.gz
# 进入目录
cd rabbitmq-c-0.10.0
# 创建build子目录并进入子目录
mkdir build && cd build
# 这一步是让cmake根据../CMakeList.txt,即rabbitmq-c的根目录下的 MakeList.txt创建Makefile文件
# Makefile文件会被创建到build目录中
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
#下载
wget https://pecl.php.net/get/amqp-1.11.0.tgz
#解压
tar -zvxf amqp-1.11.0.tgz
# 进入目录
cd amqp-1.11.0
phpize (不是全局,则写绝对路径 /usr/bin/phpize)
./configure --with-php-config=/usr/bin/php-config --with-amqp --with-librabbitmq-dir=/usr/local/rabbitmq-c
make && make install
#修改扩展
vim /etc/php.ini
extension=amqp.so#重启
service php-fpm restart
#查看扩展
php -m | grep amqp
使用
$queueId = (new BaseProducer())
->setEntityKey("bd_test")
->setOpt(BaseProducer::OPT_SAVE)
->setExtensionData(['test' => 'a'])
->setParam(['test' => 'a'])
->setCallback('callback')
->send(function ($res){
switch ($res)
{
case 'success':
echo '成功';
break;
case 'fail':
echo '失败';
break;
}
});
p($queueId);