通过命令查看php开启的扩展,是否有任何命令可以从命令行启用/禁用php扩展?...

该博客介绍了如何使用shell脚本结合sed和grep命令来启用或禁用PHP的扩展。脚本首先检查php.ini文件是否存在,然后根据提供的模块名称进行操作。如果要启用模块,它会移除注释;如果要禁用,它会在扩展前添加注释。成功修改后,脚本会重新加载httpd服务。
摘要由CSDN通过智能技术生成

您可以简单地使用

sed -i.bkp 's/^extension=x.so/# extension=x.so/' /path/of/php.ini && /etc/init.d/httpd reload

-i.bkp将备份作为php.php.bkp并写入原始文件

&&如果第一个命令成功执行,则重新加载httpd服务。

但我只是注意到sed在搜索模式不匹配时给出退出状态0,因此您可以使用

php_ini=/path/of/php.ini

__module=x.so

grep -q "^extension=$__module" $php_ini && {

sed -i.bkp "s/^extension=$__module/# extension=$__module/" $php_ini &&

echo /etc/init.d/httpd reload; } || echo "cannot make requested change"

或者,您可以使用以下脚本启用和禁用:

#!/bin/bash

php_ini=/path/of/php.ini

__module="$2"

[[ ! -f $php_ini ]] && { echo "Error: Can not found $php_ini" >&2;

echo "Please define php.ini path in $php_ini";

exit 1; }

[[ -z $__module ]] && { echo "Error: Please Type Module Name:" >&2;

exit 1; }

show_help(){

cat <<_eof>

Usage: To enable :

$0 -ie

To disable :

$0 -id

example:

$0 -i xyz.so

_EOF

}

do_enable() {

grep -Eq "# extension=$__module$" $php_ini && {

sed -i.bkp "s/^# extension\=$__module$/extension=$__module/" $php_ini &&

echo /etc/init.d/httpd reload; echo "Changes Successfully Done"; } || echo "cannot make requested change"

}

do_disable() {

grep -q "^extension=$__module" $php_ini && {

sed -i.bkp "s/^extension=$__module/# extension=$__module/" $php_ini &&

echo /etc/init.d/httpd reload; echo "Changes Successfully Done"; } || echo "cannot make requested change"

}

Main() {

case $1 in

-ie) do_enable ;;

-id) do_disable ;;

*) show_help ;;

esac

}

Main $*

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值