增加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

相关文章

iptables(7)扩展模块state

简介         前面文章我们已经介绍了一些扩展模块,如iprange、string、time、connlimit、limit,还有扩展匹配条件如--tcp-flags、icmp。这篇文章我们介绍state扩展模块  state          在 iptables 的上下文中,--state 选项并不是直接关联于一个扩展模块,而是与 iptables 的 state 匹配机制相关,特

PHP的基本语法有哪些?

PHP的基本语法包括以下几个方面: PHP标记:PHP脚本以<?php开始,以?>结束。这是PHP文件的默认文件扩展名是.php。 变量和常量:变量以$符号开头,其后是变量的名称。常量使用define()函数定义,例如define("常量名", 常量值);。 数据类型:PHP支持多种数据类型,如整型、浮点型、字符串型等。 注释:PHP支持单行注释(用//表示)和多行注释(用/* */表示

php json_encode 大括号中括号

当array是一个从0开始的连续数组时,json_encode出来的结果是一个由[]括起来的字符串。 而当array是不从0开始或者不连续的数组时,json_encode出来的结果是一个由{}括起来的key-value模式的字符串。 当字符串为[1,1,1] 这种模式时,json_decode默认解析出来的结果是一个数组。 当字符串为{"1":1,"2":1} 这种模式时,json_

PHP序列化用到的构造:__sleep() __wakeup()

串行化serialize可以把变量包括对象,转化成连续bytes数据. 你可以将串行化后的变量存在一个文件里或在网络上传输. 然后再反串行化还原为原来的数据. 你在反串行化类的对象之前定义的类,PHP可以成功地存储其对象的属性和方法. 有时你可能需要一个对象在反串行化后立即执行. 为了这样的目的,PHP会自动寻找__sleep和__wakeup方法.   当一个对象被串行化,PHP会

PHP生成csv格式Excel,秒级别实现excel导出功能

防止报超内存,兼容中文,兼容科学技术法。 爽。。。。很爽。。。。 /*** 告诉浏览器下载csv文件* @param string $filename*/public static function downloadCsv($data, $filename, $encoding = 'utf-8'){header("Content-type: text/csv");header("Conten

PHP 读取或生成大的Excel

场景,在很多情况下,需要读取Excel文件。 常用的有PHPExcel包或者使用 maatwebsite/excel 包 但是使用这个包读取或生成excel,如果excel文件过大,很容易出现超内存情况。 解决方法: 上传:要求上传者使用.csv 文件上传。然后使用php自带的 fgetcsv()函数来读取文件。http://php.net/manual/zh/function.fgetc

文件权限修改为777,php failed to open stream: Permission denied

记录一次在谷歌云上的异常诡异的事件: 环境 centos7.5 nginx php7.0 mysql 问题: 问题一 我用相同的nginx配置,只是修改了nginx root目录。 打开/var/www/html/ 这个目录就报 2018/06/22 04:35:03 [error] 15840#0: *438 FastCGI sent in stderr: “Primary scr

PHP ODBC:连接数据库的桥梁

PHP ODBC:连接数据库的桥梁 PHP ODBC(Open Database Connectivity)是一个允许PHP应用程序连接到各种数据库管理系统的扩展。它为PHP提供了一个标准的数据库访问接口,使得开发者可以编写不依赖于特定数据库系统的代码。本文将详细介绍PHP ODBC的概念、工作原理、使用方法以及在实际开发中的应用。 什么是PHP ODBC? PHP ODBC扩展使得PHP能

常用上网增强类Chrome扩展

Chrome是个非常好用的浏览器,拥有丰富的扩展资源库,能够满足网民各种各样的需求,对于网民来说,通过Chrome扩展来增强上网体验是一个基本需求,但是安装过多的扩展有容易耗费大量系统资源,今天就给大量挑选一些常用的上网增强类Chrome扩展,供大家参考。   LastPass:用于管理大量网站的密码,给不同网站设置不同的密码,支持自动登录,支持手机两步验证。建议在普通和隐身模式下都启用这个扩展

ESP32通过I2C驱动PCA9557IO扩展芯片

前言 ESP32自带的IO管脚比较有限,这个时候我们就需要使用一些IO扩展芯片扩展我们的IO,今天就介绍一款使用I2C接口扩展8个IO的芯片 PCA9557 PCA 9557芯片介绍 PCA9557是一款硅CMOS电路,为SMBus和I²C总线应用提供并行输入/输出扩展。PCA9557由8位输入端口寄存器、8位输出端口寄存器和I²C总线/SMBus接口组成。具有低电流消耗和高阻抗开漏输出引脚