增加php的amqp扩展

2024-06-13 19:32
文章标签 php 扩展 增加 amqp

本文主要是介绍增加php的amqp扩展,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言:本脚本仅仅适用于通过宝塔面板安装的php,使用的是amqp.1.10.2,仅仅支持php5.6以上,pear1.4版本以上

目前只测试了CentOS7的系统,后续会对此进行兼容其他操作系统

#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
#说明:amqp.1.10.2仅适用于php5.6版本以上,pear1.4版本以上public_file=/www/server/panel/install/public.sh
[ ! -f $public_file ] && wget -O $public_file http://download.bt.cn/install/public.sh -T 5;publicFileMd5=$(md5sum ${public_file}|awk '{print $1}')
md5check="66c89de255c11b64d5215be67dc4fdc6"
[ "${publicFileMd5}" != "${md5check}"  ] && wget -O $public_file http://download.bt.cn/install/public.sh -T 5;. $public_file
download_Url=$NODE_URL
srcPath='/root';#安装amqp需要安装librabbitmq依赖
System_Lib(){if [ "${PM}" == "yum" ] || [ "${PM}" == "dnf" ] ; theninstallPack="librabbitmq-devel"fi[ "${installPack}" != "" ] && ${PM} install ${installPack} -y
}
#amqp.1.10.2适合使用的php版本
Ext_Path(){case "${version}" in '56')extFile="/www/server/php/56/lib/php/extensions/no-debug-non-zts-20131226/amqp.so";;'70')extFile="/www/server/php/70/lib/php/extensions/no-debug-non-zts-20151012/amqp.so";;'71')extFile="/www/server/php/71/lib/php/extensions/no-debug-non-zts-20160303/amqp.so";;'72')extFile="/www/server/php/72/lib/php/extensions/no-debug-non-zts-20170718/amqp.so";;'73')extFile='/www/server/php/73/lib/php/extensions/no-debug-non-zts-20180731/amqp.so';;'74')extFile='/www/server/php/74/lib/php/extensions/no-debug-non-zts-20190902/amqp.so';;esac
}Install_librabbitmq()
{	#下载smbclient客户端cd $srcPathwget  https://pecl.php.net/get/amqp-1.10.2.tgztar zxvf amqp-1.10.2.tgzcd $srcPath/amqp-1.10.2/www/server/php/$version/bin/phpize./configure --with-php-config=/www/server/php/$version/bin/php-config make && make installif [ ! -d /www/server/php/$version ];thenreturn;fiif [ ! -f "/www/server/php/$version/bin/php-config" ];thenecho "php-$vphp 未安装,请选择其它版本!"echo "php-$vphp not install, Plese select other version!"returnfiisInstall=`cat /www/server/php/$version/etc/php.ini|grep 'amqp.so'`if [ "${isInstall}" != "" ];thenecho "php-$vphp 已安装过amqp,请选择其它版本!"echo "php-$vphp is already install amqp, Plese select other version!"returnfiecho "extension=amqp.so" >> /www/server/php/$version/etc/php.ini/etc/init.d/php-fpm-$version reloadecho '==============================================='echo 'successful!'/etc/init.d/php-fpm-$version reloadrm -rf $srcPath/amqp*/www/server/php/${version}/bin/php -m|grep amqp
}Uninstall_librabbitmq()
{if [ ! -d /www/server/php/$version ];thenrm -rf $srcPath/amqp*fiif [ ! -f "/www/server/php/$version/bin/php-config" ];thenecho "php-$vphp 未安装,请选择其它版本!"echo "php-$vphp not install, Plese select other version!"returnfiisInstall=`cat /www/server/php/$version/etc/php.ini|grep 'amqp.so'`if [ "${isInstall}" = "" ];thenecho "php-$vphp 未安装amqp,请选择其它版本!"echo "php-$vphp not install amqp, Plese select other version!"returnfirm -f ${extFile}sed -i '/amqp.so/d'  /www/server/php/$version/etc/php.ini/etc/init.d/php-fpm-$version reloadecho '==============================================='echo 'successful!'
}
Bt_Check(){checkFile="/www/server/panel/install/check.sh"wget -O ${checkFile} ${download_Url}/tools/check.sh			. ${checkFile} 
}
actionType=$1
version=$2
vphp=${version:0:1}.${version:1:1}
if [ "$actionType" == 'install' ];thenExt_PathInstall_librabbitmqBt_Check
elif [ "$actionType" == 'uninstall' ];thenExt_PathUninstall_librabbitmq
fi

使用方法:

git  clone  https://github.com/breakmyself/shell.git

例如php7.4 

将此脚本保存服务器上,进入到shell目录执行

bash dapao_amqp.sh install 74

 

这篇关于增加php的amqp扩展的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1058218

相关文章

PHP执行php.exe -v命令报错的解决方案

《PHP执行php.exe-v命令报错的解决方案》:本文主要介绍PHP执行php.exe-v命令报错的解决方案,文中通过图文讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下... 目录执行phpandroid.exe -v命令报错解决方案执行php.exe -v命令报错-PHP War

csu 1446 Problem J Modified LCS (扩展欧几里得算法的简单应用)

这是一道扩展欧几里得算法的简单应用题,这题是在湖南多校训练赛中队友ac的一道题,在比赛之后请教了队友,然后自己把它a掉 这也是自己独自做扩展欧几里得算法的题目 题意:把题意转变下就变成了:求d1*x - d2*y = f2 - f1的解,很明显用exgcd来解 下面介绍一下exgcd的一些知识点:求ax + by = c的解 一、首先求ax + by = gcd(a,b)的解 这个

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

RabbitMQ练习(AMQP 0-9-1 Overview)

1、What is AMQP 0-9-1 AMQP 0-9-1(高级消息队列协议)是一种网络协议,它允许遵从该协议的客户端(Publisher或者Consumer)应用程序与遵从该协议的消息中间件代理(Broker,如RabbitMQ)进行通信。 AMQP 0-9-1模型的核心概念包括消息发布者(producers/publisher)、消息(messages)、交换机(exchanges)、

Spring框架5 - 容器的扩展功能 (ApplicationContext)

private static ApplicationContext applicationContext;static {applicationContext = new ClassPathXmlApplicationContext("bean.xml");} BeanFactory的功能扩展类ApplicationContext进行深度的分析。ApplicationConext与 BeanF

EMLOG程序单页友链和标签增加美化

单页友联效果图: 标签页面效果图: 源码介绍 EMLOG单页友情链接和TAG标签,友链单页文件代码main{width: 58%;是设置宽度 自己把设置成与您的网站宽度一样,如果自适应就填写100%,TAG文件不用修改 安装方法:把Links.php和tag.php上传到网站根目录即可,访问 域名/Links.php、域名/tag.php 所有模板适用,代码就不粘贴出来,已经打

PHP原理之内存管理中难懂的几个点

PHP的内存管理, 分为俩大部分, 第一部分是PHP自身的内存管理, 这部分主要的内容就是引用计数, 写时复制, 等等面向应用的层面的管理. 而第二部分就是今天我要介绍的, zend_alloc中描写的关于PHP自身的内存管理, 包括它是如何管理可用内存, 如何分配内存等. 另外, 为什么要写这个呢, 因为之前并没有任何资料来介绍PHP内存管理中使用的策略, 数据结构, 或者算法. 而在我们

php中json_decode()和json_encode()

1.json_decode() json_decode (PHP 5 >= 5.2.0, PECL json >= 1.2.0) json_decode — 对 JSON 格式的字符串进行编码 说明 mixed json_decode ( string $json [, bool $assoc ] ) 接受一个 JSON 格式的字符串并且把它转换为 PHP 变量 参数 json

如何将文件夹里的PHP代码放到一个文件里

find ./dir -name "*.php" -exec 'cat' {} \; > dir.out

PHP抓取网站图片脚本

方法一: <?phpheader("Content-type:image/jpeg"); class download_image{function read_url($str) { $file=fopen($str,"r");$result = ''; while(!feof($file)) { $result.=fgets($file,9999); } fclose($file); re