增加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应用中处理限流和API节流的最佳实践

《PHP应用中处理限流和API节流的最佳实践》限流和API节流对于确保Web应用程序的可靠性、安全性和可扩展性至关重要,本文将详细介绍PHP应用中处理限流和API节流的最佳实践,下面就来和小编一起学习... 目录限流的重要性在 php 中实施限流的最佳实践使用集中式存储进行状态管理(如 Redis)采用滑动

spring AMQP代码生成rabbitmq的exchange and queue教程

《springAMQP代码生成rabbitmq的exchangeandqueue教程》使用SpringAMQP代码直接创建RabbitMQexchange和queue,并确保绑定关系自动成立,简... 目录spring AMQP代码生成rabbitmq的exchange and 编程queue执行结果总结s

PostgreSQL的扩展dict_int应用案例解析

《PostgreSQL的扩展dict_int应用案例解析》dict_int扩展为PostgreSQL提供了专业的整数文本处理能力,特别适合需要精确处理数字内容的搜索场景,本文给大家介绍PostgreS... 目录PostgreSQL的扩展dict_int一、扩展概述二、核心功能三、安装与启用四、字典配置方法

Spring组件实例化扩展点之InstantiationAwareBeanPostProcessor使用场景解析

《Spring组件实例化扩展点之InstantiationAwareBeanPostProcessor使用场景解析》InstantiationAwareBeanPostProcessor是Spring... 目录一、什么是InstantiationAwareBeanPostProcessor?二、核心方法解

CentOS7增加Swap空间的两种方法

《CentOS7增加Swap空间的两种方法》当服务器物理内存不足时,增加Swap空间可以作为虚拟内存使用,帮助系统处理内存压力,本文给大家介绍了CentOS7增加Swap空间的两种方法:创建新的Swa... 目录在Centos 7上增加Swap空间的方法方法一:创建新的Swap文件(推荐)方法二:调整Sww

Java常用注解扩展对比举例详解

《Java常用注解扩展对比举例详解》:本文主要介绍Java常用注解扩展对比的相关资料,提供了丰富的代码示例,并总结了最佳实践建议,帮助开发者更好地理解和应用这些注解,需要的朋友可以参考下... 目录一、@Controller 与 @RestController 对比二、使用 @Data 与 不使用 @Dat

SpringBoot项目使用MDC给日志增加唯一标识的实现步骤

《SpringBoot项目使用MDC给日志增加唯一标识的实现步骤》本文介绍了如何在SpringBoot项目中使用MDC(MappedDiagnosticContext)为日志增加唯一标识,以便于日... 目录【Java】SpringBoot项目使用MDC给日志增加唯一标识,方便日志追踪1.日志效果2.实现步

Spring组件初始化扩展点BeanPostProcessor的作用详解

《Spring组件初始化扩展点BeanPostProcessor的作用详解》本文通过实战案例和常见应用场景详细介绍了BeanPostProcessor的使用,并强调了其在Spring扩展中的重要性,感... 目录一、概述二、BeanPostProcessor的作用三、核心方法解析1、postProcessB

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)的解 这个