是否有任何命令可以从命令行轻松启用/禁用php扩展?(php.ini)
extension=x.so
禁用x。
是否有任何命令可以从命令行轻松启用/禁用php扩展?(php.ini)
extension=x.so
禁用x。
Answers:
如果您在基于Debian的发行版上使用PHP5.4 +,则可以使用php5enmod启用,并使用php5dismod禁用PHP扩展。
在Lubuntu上,我需要pdo_sqlite
。
手动启用:
$ sudo php5enmod pdo_sqlite
如果不起作用,请检查:
$ ls /etc/php5/mods-available
结果列表丢失pdo_sqlite.ini
。我们必须安装它。
$ sudo apt-get install php5-sqlite
或对于php7:
$ sudo apt-get install php7-sqlite3
sqlite3
在安装过程中,可以在CLI和Apache中自动启用Extension ,现在有了mods-available
:pdo_sqlite.ini
,sqlite3.ini
。
禁用扩展:
$ sudo php5dismod pdo_sqlite
您必须使用-n
,然后使用附加每个所需的扩展名-dextension
例:
php -n -dextension=json.so -dextension=phar.so composer.phar update
您可以简单地使用
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 <modulename>
To disable :
$0 -id <modulename>
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 $*
conf.d/*.ini
文件中。也许需要做一些修改?
awk
)。