#!/bin/sh # # phpenmod - a PHP module manager for Debian # # Copyright 2013-2015 Ondřej Surý <ondrej@sury.org> # # Permission is hereby granted, free of charge, to any person obtaining a copy of # this software and associated documentation files (the "Software"), to deal in # the Software without restriction, including without limitation the rights to # use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of # the Software, and to permit persons to whom the Software is furnished to do so, # subject to the following conditions: # # The above copyright notice and this permission notice shall be included in all # copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS # FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR # COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER # IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. set -ue SCRIPT_NAME=${0##*/} QUIET=no NEED_RESTART=no MAINT_MODE=no . /usr/lib/php/php-helper usage() { [ -n "$@" ] && warning $@ echo "usage: ${SCRIPT_NAME} [ -v ALL|php_version ] [ -s ALL|sapi_name ] module_name [ module_name_2 ]" exit 1 } resolve_versions() { local versions=$1 if [ "$versions" = "ALL" ]; then versions=$(phpquery -V) fi echo $versions } resolve_sapis() { local version=$1 local sapis=$2 if [ "$sapis" = "ALL" ]; then sapis=$(phpquery -S -v $version) fi echo $sapis } enmods() { local versions="$1" local sapis="$2" local mods="$3" local register="$4" local versions local sapis local version local sapi local mod for mod in $mods; do for version in $(resolve_versions "$versions"); do for sapi in $(resolve_sapis "$version" "$sapis"); do enmod_ret=0 enmod "$version" "$sapi" "$mod" || enmod_ret=$? case $enmod_ret in 0) NEED_RESTART=yes record_state enabled "$version" "$sapi" "$mod" ;; esac done if [ "$register" = "yes" ]; then mod_registry register "$version" "$mod" fi done done } dismods() { local versions="$1" local sapis="$2" local mods="$3" local register="$4" local purge="$5" local version local sapi local mod for mod in $mods; do for version in $(resolve_versions "$versions"); do for sapi in $(resolve_sapis "$version" "$sapis"); do local dismod_ret=0 dismod "$version" "$sapi" "$mod" "$purge" || dismod_ret=$? case $dismod_ret in 0) NEED_RESTART=yes record_state disabled "$version" "$sapi" "$mod" ;; esac done done if [ "$purge" = "yes" ]; then remove_state enabled "$version" "$sapi" "$mod" remove_state disabled "$version" "$sapi" "$mod" mod_registry unregister "$version" "$mod" elif [ "$register" = "yes" ]; then mod_registry unregister "$version" "$mod" fi done } enmod() { local version=$1 local sapi=$2 local modname=$3 if ! module_exists "$version" "$modname"; then warning "Module $modname ini file doesn't exist under /etc/php/${version}/mods-available" return 1 fi local priority=$(get_priority "$version" "$sapi" "$modname") local live_link=$(get_live_link "$version" "$sapi" "$modname" "$priority") local live_link_content=$(get_live_link_content "$version" "$sapi" "$modname" "$priority") local module_state=0 phpquery -q -v "$version" -s "$sapi" -m "$modname" || module_state=$? case "$module_state" in # module enabled, but re-enable the conf.d link just in case 0) ;; # module not yet enabled 1) ;; # module disabled by maintainer script 33) ;; # module disabled by site administrator # enable module only if not running in maintainer mode 32) if [ "$MAINT_MODE" = "yes" ]; then warning "Not enabling the ${modname} module for PHP ${version} ${sapi} SAPI since the module" warning "was disabled by local administrator." return 1 fi ;; 34) warning "Not enabling the ${modname} module for PHP ${version} ${sapi} SAPI since module symlink" warning "already exists in /etc/php/${version}/${sapi}/conf.d with different content." return 1 ;; # fail if we get any different result *) warning "Unable to get module state, run phpquery -v ${version} -s ${sapi} -m ${modname} manually" warning "and fix the module state." return 1 esac if [ -d "/etc/php/${version}/$sapi/conf.d" ]; then if [ ! -h "${live_link}" ]; then ln -s "${live_link_content}" "${live_link}" fi else warning "Directory /etc/php/${version}/${sapi}/conf.d doesn't exist, not enabling the module" return 1 fi return 0 } dismod() { local version=$1 local sapi=$2 local modname=$3 local purge=$4 if ! module_exists "$version" "$modname"; then if [ "$purge" = "no" ]; then warning "Module ${modname} ini file doesn't exist under /etc/php/${version}/mods-available" return 1 fi fi local priority=$(get_priority "$version" "$sapi" "$modname") local live_link=$(get_live_link "$version" "$sapi" "$modname" "$priority") local live_link_content=$(get_live_link_content "$version" "$sapi" "$modname" "$priority") local module_state=0 phpquery -q -v "$version" -s "$sapi" -m "$modname" || module_state=$? case $module_state in # module enabled 0) ;; # module not enabled, but re-remove the link just in case 1|32|33) ;; 34) warning "Not disabling module ${modname} for ${sapi} SAPI. The configuration was" warning "modified by local administrator." return 1 ;; # fail if we get any different result *) warning "Unable to get module state, run phpquery -v ${version} -s ${sapi} -m ${modname} manually" warning "and fix the module state." return 1 esac if [ -d "/etc/php/${version}/${sapi}/conf.d" ]; then if [ -h "$live_link" ]; then rm -f "$live_link" fi fi return 0 } versions= sapis= register=no purge=no while getopts pfv:s:mqr opt; do case $opt in r) register=yes;; v) if [ "$versions" = "ALL" -o \( "$OPTARG" = "ALL" -a -n "$versions" \) ]; then warning "You cannot specify ALL and individual versions" usage fi versions="${versions}${versions:+ }$OPTARG" ;; s) if [ "$sapis" = "ALL" -o \( "$OPTARG" = "ALL" -a -n "$sapis" \) ]; then warning "You cannot specify ALL and individual sapis" usage fi sapis="${sapis}${sapis:+ }$OPTARG" ;; m) MAINT_MODE=yes;; p) purge=yes;; q) QUIET=yes;; \?) usage;; esac done shift $(expr $OPTIND - 1) mods="" for mod in $@; do mods="${mods}${mods:+ }${mod%%/*}" done # If -v or -s was not specified run on every version and every SAPI [ -z "$versions" ] && versions=ALL [ -z "$sapis" ] && sapis=ALL [ -z "$mods" ] && usage case "${SCRIPT_NAME}" in phpenmod) enmods "$versions" "$sapis" "$mods" "$register" ;; phpdismod) dismods "$versions" "$sapis" "$mods" "$register" "$purge" ;; *) usage ;; esac exit 0
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
ModemManager | File | 1.37 MB | 0755 |
|
NetworkManager | File | 2.54 MB | 0755 |
|
a2disconf | File | 15.89 KB | 0755 |
|
a2dismod | File | 15.89 KB | 0755 |
|
a2dissite | File | 15.89 KB | 0755 |
|
a2enconf | File | 15.89 KB | 0755 |
|
a2enmod | File | 15.89 KB | 0755 |
|
a2ensite | File | 15.89 KB | 0755 |
|
a2query | File | 9.64 KB | 0755 |
|
aa-remove-unknown | File | 2.85 KB | 0755 |
|
aa-status | File | 8.41 KB | 0755 |
|
accessdb | File | 10.23 KB | 0755 |
|
acpid | File | 50.84 KB | 0755 |
|
add-shell | File | 860 B | 0755 |
|
addgnupghome | File | 3.01 KB | 0755 |
|
addgroup | File | 36.45 KB | 0755 |
|
adduser | File | 36.45 KB | 0755 |
|
apache2 | File | 659.69 KB | 0755 |
|
apache2ctl | File | 7.06 KB | 0755 |
|
apachectl | File | 7.06 KB | 0755 |
|
apparmor_status | File | 8.41 KB | 0755 |
|
applygnupgdefaults | File | 2.17 KB | 0755 |
|
arp | File | 61.3 KB | 0755 |
|
arpd | File | 54.03 KB | 0755 |
|
aspell-autobuildhash | File | 13.22 KB | 0755 |
|
atd | File | 26.01 KB | 0755 |
|
bcache-super-show | File | 13.99 KB | 0755 |
|
biosdecode | File | 18.87 KB | 0755 |
|
chat | File | 30.01 KB | 0755 |
|
check_forensic | File | 952 B | 0755 |
|
chgpasswd | File | 57.83 KB | 0755 |
|
chmem | File | 42.08 KB | 0755 |
|
chpasswd | File | 53.86 KB | 0755 |
|
chroot | File | 38.18 KB | 0755 |
|
cpgr | File | 55.96 KB | 0755 |
|
cppw | File | 55.96 KB | 0755 |
|
cron | File | 46.3 KB | 0755 |
|
cryptdisks_start | File | 1.11 KB | 0755 |
|
cryptdisks_stop | File | 1.16 KB | 0755 |
|
danted | File | 858.54 KB | 0755 |
|
dbconfig-generate-include | File | 12.37 KB | 0755 |
|
dbconfig-load-include | File | 5.57 KB | 0755 |
|
delgroup | File | 16.11 KB | 0755 |
|
deluser | File | 16.11 KB | 0755 |
|
dmidecode | File | 106.54 KB | 0755 |
|
dnsmasq | File | 379.6 KB | 0755 |
|
dpkg-preconfigure | File | 3.58 KB | 0755 |
|
dpkg-reconfigure | File | 4.34 KB | 0755 |
|
e2freefrag | File | 14.07 KB | 0755 |
|
e4crypt | File | 22.07 KB | 0755 |
|
e4defrag | File | 25.99 KB | 0755 |
|
escapesrc | File | 22.16 KB | 0755 |
|
faillock | File | 13.99 KB | 0755 |
|
fanatic | File | 35.21 KB | 0755 |
|
fanctl | File | 41.98 KB | 0755 |
|
fdformat | File | 30.08 KB | 0755 |
|
filefrag | File | 14.02 KB | 0755 |
|
gconf-schemas | File | 4.45 KB | 0755 |
|
genccode | File | 10.36 KB | 0755 |
|
gencmn | File | 10.44 KB | 0755 |
|
genl | File | 58.05 KB | 0755 |
|
gennorm2 | File | 54.59 KB | 0755 |
|
gensprep | File | 18.5 KB | 0755 |
|
groupadd | File | 61.92 KB | 0755 |
|
groupdel | File | 70.37 KB | 0755 |
|
groupmems | File | 57.87 KB | 0755 |
|
groupmod | File | 68.18 KB | 0755 |
|
grpck | File | 53.8 KB | 0755 |
|
grpconv | File | 49.68 KB | 0755 |
|
grpunconv | File | 49.68 KB | 0755 |
|
grub-install | File | 1003.51 KB | 0755 |
|
grub-macbless | File | 780.84 KB | 0755 |
|
grub-mkconfig | File | 8.03 KB | 0755 |
|
grub-mkdevicemap | File | 207.62 KB | 0755 |
|
grub-probe | File | 793.09 KB | 0755 |
|
grub-reboot | File | 4.73 KB | 0755 |
|
grub-set-default | File | 832 B | 0755 |
|
grub-set-default-legacy-ec2 | File | 3.13 KB | 0755 |
|
grub-set-default.real | File | 3.47 KB | 0755 |
|
hddtemp | File | 38.68 KB | 0755 |
|
httxt2dbm | File | 9.99 KB | 0755 |
|
iconvconfig | File | 30.25 KB | 0755 |
|
icupkg | File | 18.77 KB | 0755 |
|
init.lxc | File | 38.5 KB | 0755 |
|
init.lxc.static | File | 1005.91 KB | 0755 |
|
invoke-rc.d | File | 15.66 KB | 0755 |
|
ip6tables-apply | File | 6.85 KB | 0755 |
|
iptables-apply | File | 6.85 KB | 0755 |
|
irqbalance | File | 62.68 KB | 0755 |
|
irqbalance-ui | File | 34.06 KB | 0755 |
|
isadump | File | 13.99 KB | 0755 |
|
isaset | File | 9.99 KB | 0755 |
|
iscsi-iname | File | 9.99 KB | 0755 |
|
iscsi_discovery | File | 5.16 KB | 0755 |
|
iscsid | File | 398.15 KB | 0755 |
|
iscsistart | File | 358.13 KB | 0755 |
|
ispell-autobuildhash | File | 15.39 KB | 0755 |
|
ldattach | File | 30.08 KB | 0755 |
|
locale-gen | File | 4.3 KB | 0755 |
|
logrotate | File | 74.09 KB | 0755 |
|
luksformat | File | 3.32 KB | 0755 |
|
make-bcache | File | 18.07 KB | 0755 |
|
make-ssl-cert | File | 3.78 KB | 0755 |
|
mkinitramfs | File | 10.89 KB | 0755 |
|
mklost+found | File | 9.99 KB | 0755 |
|
mysqld | File | 23.16 MB | 0755 |
|
netfilter-persistent | File | 1.05 KB | 0755 |
|
netplan | File | 798 B | 0755 |
|
newusers | File | 82.39 KB | 0755 |
|
nfnl_osf | File | 13.99 KB | 0755 |
|
nologin | File | 5.99 KB | 0755 |
|
openvpn | File | 750.27 KB | 0755 |
|
overlayroot-chroot | File | 2.45 KB | 0755 |
|
ownership | File | 10.13 KB | 0755 |
|
pam-auth-update | File | 19.38 KB | 0755 |
|
pam_getenv | File | 2.82 KB | 0755 |
|
pam_timestamp_check | File | 9.99 KB | 0755 |
|
paperconfig | File | 4.07 KB | 0755 |
|
php7-fpm | File | 37.24 MB | 0755 |
|
phpdismod | File | 7.11 KB | 0755 |
|
phpenmod | File | 7.11 KB | 0755 |
|
phpquery | File | 6.24 KB | 0755 |
|
pma-configure | File | 299 B | 0755 |
|
pma-secure | File | 157 B | 0755 |
|
popcon-largest-unused | File | 543 B | 0755 |
|
popularity-contest | File | 4.92 KB | 0755 |
|
pppd | File | 369.73 KB | 4754 |
|
pppdump | File | 18.1 KB | 0755 |
|
pppoe-discovery | File | 18 KB | 0755 |
|
pppstats | File | 13.99 KB | 0755 |
|
pptp | File | 62.98 KB | 0755 |
|
pptpsetup | File | 6.46 KB | 0755 |
|
pwck | File | 49.8 KB | 0755 |
|
pwconv | File | 45.7 KB | 0755 |
|
pwunconv | File | 45.68 KB | 0755 |
|
readprofile | File | 18.11 KB | 0755 |
|
recvtty | File | 3.4 MB | 0755 |
|
remove-default-ispell | File | 2.86 KB | 0755 |
|
remove-default-wordlist | File | 2.86 KB | 0755 |
|
remove-shell | File | 904 B | 0755 |
|
rmt | File | 58.39 KB | 0755 |
|
rmt-tar | File | 58.39 KB | 0755 |
|
rsyslogd | File | 668.54 KB | 0755 |
|
rtcwake | File | 42.08 KB | 0755 |
|
rtkitctl | File | 10.06 KB | 0755 |
|
runc | File | 8.37 MB | 0755 |
|
sd-helper | File | 3.26 MB | 0755 |
|
seccompagent | File | 2.18 MB | 0755 |
|
select-default-ispell | File | 3.23 KB | 0755 |
|
select-default-wordlist | File | 3.21 KB | 0755 |
|
sensors-detect | File | 204.66 KB | 0755 |
|
service | File | 9.04 KB | 0755 |
|
setvesablank | File | 14.07 KB | 0755 |
|
split-logfile | File | 2.36 KB | 0755 |
|
sshd | File | 772.41 KB | 0755 |
|
tarcat | File | 936 B | 0755 |
|
tcpdump | File | 999.6 KB | 0755 |
|
tzconfig | File | 106 B | 0755 |
|
ufw | File | 4.82 KB | 0755 |
|
update-ca-certificates | File | 5.27 KB | 0755 |
|
update-default-aspell | File | 1 KB | 0755 |
|
update-default-ispell | File | 9.68 KB | 0755 |
|
update-default-wordlist | File | 7.5 KB | 0755 |
|
update-dictcommon-aspell | File | 1 KB | 0755 |
|
update-dictcommon-hunspell | File | 782 B | 0755 |
|
update-fonts-alias | File | 5.71 KB | 0755 |
|
update-fonts-dir | File | 3.98 KB | 0755 |
|
update-fonts-scale | File | 6.1 KB | 0755 |
|
update-grub | File | 64 B | 0755 |
|
update-grub-legacy-ec2 | File | 43.96 KB | 0755 |
|
update-grub2 | File | 64 B | 0755 |
|
update-gsfontmap | File | 450 B | 0755 |
|
update-icon-caches | File | 596 B | 0755 |
|
update-info-dir | File | 1.66 KB | 0755 |
|
update-initramfs | File | 8.04 KB | 0755 |
|
update-locale | File | 2.99 KB | 0755 |
|
update-mime | File | 8.84 KB | 0755 |
|
update-passwd | File | 30.41 KB | 0755 |
|
update-pciids | File | 2.84 KB | 0755 |
|
update-rc.d | File | 16.12 KB | 0755 |
|
update-secureboot-policy | File | 7.43 KB | 0755 |
|
update-usbids | File | 1.05 KB | 0755 |
|
usb_modeswitch | File | 59.51 KB | 0755 |
|
usb_modeswitch_dispatcher | File | 46.16 KB | 0755 |
|
usbmuxd | File | 70.38 KB | 0755 |
|
useradd | File | 123.28 KB | 0755 |
|
userdel | File | 82.48 KB | 0755 |
|
usermod | File | 123.06 KB | 0755 |
|
uuidd | File | 34.16 KB | 0755 |
|
validlocale | File | 1.73 KB | 0755 |
|
vcstime | File | 9.99 KB | 0755 |
|
vigr | File | 60.18 KB | 0755 |
|
vipw | File | 60.18 KB | 0755 |
|
visudo | File | 208.8 KB | 0755 |
|
vpddecode | File | 14.27 KB | 0755 |
|
xfce4-kiosk-query | File | 9.99 KB | 0755 |
|
xfce4-pm-helper | File | 9.99 KB | 0755 |
|
xfpm-power-backlight-helper | File | 13.99 KB | 0755 |
|
xfs_admin | File | 1.35 KB | 0755 |
|
xfs_bmap | File | 638 B | 0755 |
|
xfs_copy | File | 394.31 KB | 0755 |
|
xfs_db | File | 667.63 KB | 0755 |
|
xfs_estimate | File | 10.01 KB | 0755 |
|
xfs_freeze | File | 767 B | 0755 |
|
xfs_fsr | File | 30.02 KB | 0755 |
|
xfs_growfs | File | 382.27 KB | 0755 |
|
xfs_info | File | 472 B | 0755 |
|
xfs_io | File | 130.93 KB | 0755 |
|
xfs_logprint | File | 414.27 KB | 0755 |
|
xfs_mdrestore | File | 370.28 KB | 0755 |
|
xfs_metadump | File | 747 B | 0755 |
|
xfs_mkfile | File | 1007 B | 0755 |
|
xfs_ncheck | File | 650 B | 0755 |
|
xfs_quota | File | 86.01 KB | 0755 |
|
xfs_rtcp | File | 13.99 KB | 0755 |
|
zerofree | File | 9.99 KB | 0755 |
|
zic | File | 54.14 KB | 0755 |
|