mirror of
https://github.com/QYG2297248353/appstore-1panel.git
synced 2024-11-25 09:38:47 +08:00
feat: 优化 PHP 7.x 的安装脚本 (#167)
This commit is contained in:
parent
ee10418f0e
commit
596d533708
@ -311,7 +311,7 @@ serialize_precision = -1
|
||||
; This directive allows you to disable certain functions for security reasons.
|
||||
; It receives a comma-delimited list of function names.
|
||||
; http://php.net/disable-functions
|
||||
disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,popen,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
|
||||
disable_functions =
|
||||
|
||||
; This directive allows you to disable certain classes for security reasons.
|
||||
; It receives a comma-delimited list of class names.
|
||||
|
@ -311,7 +311,7 @@ serialize_precision = -1
|
||||
; This directive allows you to disable certain functions for security reasons.
|
||||
; It receives a comma-delimited list of function names.
|
||||
; http://php.net/disable-functions
|
||||
disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,popen,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
|
||||
disable_functions =
|
||||
|
||||
; This directive allows you to disable certain classes for security reasons.
|
||||
; It receives a comma-delimited list of class names.
|
||||
|
@ -311,7 +311,7 @@ serialize_precision = -1
|
||||
; This directive allows you to disable certain functions for security reasons.
|
||||
; It receives a comma-delimited list of function names.
|
||||
; http://php.net/disable-functions
|
||||
disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,popen,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
|
||||
disable_functions =
|
||||
|
||||
; This directive allows you to disable certain classes for security reasons.
|
||||
; It receives a comma-delimited list of class names.
|
||||
|
@ -27,9 +27,9 @@ export EXTENSIONS=",${PHP_EXTENSIONS},"
|
||||
# specific version.
|
||||
#
|
||||
# For example, to check if current php is greater than or
|
||||
# equal to PHP 8.0:
|
||||
# equal to PHP 7.0:
|
||||
#
|
||||
# isPhpVersionGreaterOrEqual 8 0
|
||||
# isPhpVersionGreaterOrEqual 7 0
|
||||
#
|
||||
# Param 1: Specific PHP Major version
|
||||
# Param 2: Specific PHP Minor version
|
||||
@ -62,9 +62,10 @@ installExtensionFromTgz()
|
||||
tgzName=$1
|
||||
para1=
|
||||
extensionName="${tgzName%%-*}"
|
||||
if [ $2 ]; then
|
||||
|
||||
if [ $2 ]; then
|
||||
para1=$2
|
||||
fi
|
||||
fi
|
||||
mkdir ${extensionName}
|
||||
tar -xf ${tgzName}.tgz -C ${extensionName} --strip-components=1
|
||||
( cd ${extensionName} && phpize && ./configure ${para1} && make ${MC} && make install )
|
||||
@ -72,6 +73,18 @@ installExtensionFromTgz()
|
||||
docker-php-ext-enable ${extensionName}
|
||||
}
|
||||
|
||||
# install use install-php-extensions
|
||||
if [[ -z "${EXTENSIONS##*,ioncube_loader,*}" ]]; then
|
||||
echo "---------- Install ioncube_loader ----------"
|
||||
install-php-extensions ioncube_loader
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,imagick,*}" ]]; then
|
||||
echo "---------- Install imagick ----------"
|
||||
install-php-extensions imagick
|
||||
fi
|
||||
# end
|
||||
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,pdo_mysql,*}" ]]; then
|
||||
echo "---------- Install pdo_mysql ----------"
|
||||
@ -208,19 +221,9 @@ if [[ -z "${EXTENSIONS##*,hprose,*}" ]]; then
|
||||
docker-php-ext-enable hprose
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,ioncube_loader,*}" ]]; then
|
||||
echo "---------- Install ioncube_loader ----------"
|
||||
install-php-extensions ioncube_loader
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,imagick,*}" ]]; then
|
||||
echo "---------- Install imagick ----------"
|
||||
install-php-extensions imagick
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,gd,*}" ]]; then
|
||||
echo "---------- Install gd ----------"
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 4
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
# "--with-xxx-dir" was removed from php 7.4,
|
||||
@ -389,47 +392,47 @@ fi
|
||||
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,ssh2,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo "---------- Install ssh2 ----------"
|
||||
printf "\n" | apk add libssh2-dev
|
||||
pecl install ssh2-1.1.2
|
||||
docker-php-ext-enable ssh2
|
||||
else
|
||||
echo "ssh2 requires PHP >= 8.0.0, installed version is ${PHP_VERSION}"
|
||||
echo "ssh2 requires PHP >= 7.0.0, installed version is ${PHP_VERSION}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,protobuf,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo "---------- Install protobuf ----------"
|
||||
printf "\n" | pecl install protobuf
|
||||
docker-php-ext-enable protobuf
|
||||
else
|
||||
echo "yar requires PHP >= 8.0.0, installed version is ${PHP_VERSION}"
|
||||
echo "yar requires PHP >= 7.0.0, installed version is ${PHP_VERSION}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,yac,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo "---------- Install yac ----------"
|
||||
printf "\n" | pecl install yac-2.0.2
|
||||
docker-php-ext-enable yac
|
||||
else
|
||||
echo "yar requires PHP >= 8.0.0, installed version is ${PHP_VERSION}"
|
||||
echo "yar requires PHP >= 7.0.0, installed version is ${PHP_VERSION}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,yar,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo "---------- Install yar ----------"
|
||||
printf "\n" | pecl install yar
|
||||
docker-php-ext-enable yar
|
||||
else
|
||||
echo "yar requires PHP >= 8.0.0, installed version is ${PHP_VERSION}"
|
||||
echo "yar requires PHP >= 7.0.0, installed version is ${PHP_VERSION}"
|
||||
fi
|
||||
|
||||
fi
|
||||
@ -437,13 +440,13 @@ fi
|
||||
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,yaconf,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo "---------- Install yaconf ----------"
|
||||
printf "\n" | pecl install yaconf
|
||||
docker-php-ext-enable yaconf
|
||||
else
|
||||
echo "yar requires PHP >= 8.0.0, installed version is ${PHP_VERSION}"
|
||||
echo "yar requires PHP >= 7.0.0, installed version is ${PHP_VERSION}"
|
||||
fi
|
||||
fi
|
||||
|
||||
@ -461,7 +464,7 @@ if [[ -z "${EXTENSIONS##*,varnish,*}" ]]; then
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,pdo_sqlsrv,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 1
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo "---------- Install pdo_sqlsrv ----------"
|
||||
apk add --no-cache unixodbc-dev
|
||||
@ -470,24 +473,24 @@ if [[ -z "${EXTENSIONS##*,pdo_sqlsrv,*}" ]]; then
|
||||
curl -o /tmp/msodbcsql17_amd64.apk https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_17.5.2.1-1_amd64.apk
|
||||
apk add --allow-untrusted /tmp/msodbcsql17_amd64.apk
|
||||
else
|
||||
echo "pdo_sqlsrv requires PHP >= 8.0.0, installed version is ${PHP_VERSION}"
|
||||
echo "pdo_sqlsrv requires PHP >= 7.1.0, installed version is ${PHP_VERSION}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,sqlsrv,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 1
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo "---------- Install sqlsrv ----------"
|
||||
apk add --no-cache unixodbc-dev
|
||||
printf "\n" | pecl install sqlsrv
|
||||
docker-php-ext-enable sqlsrv
|
||||
else
|
||||
echo "pdo_sqlsrv requires PHP >= 8.0.0, installed version is ${PHP_VERSION}"
|
||||
echo "pdo_sqlsrv requires PHP >= 7.1.0, installed version is ${PHP_VERSION}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,mcrypt,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo "---------- Install mcrypt ----------"
|
||||
apk add --no-cache libmcrypt-dev libmcrypt re2c
|
||||
@ -501,10 +504,10 @@ if [[ -z "${EXTENSIONS##*,mcrypt,*}" ]]; then
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,mysql,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo "---------- mysql was REMOVED from PHP 8.0.0 ----------"
|
||||
echo "---------- mysql was REMOVED from PHP 7.0.0 ----------"
|
||||
else
|
||||
echo "---------- Install mysql ----------"
|
||||
docker-php-ext-install ${MC} mysql
|
||||
@ -512,10 +515,10 @@ if [[ -z "${EXTENSIONS##*,mysql,*}" ]]; then
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,sodium,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 2
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo
|
||||
echo "Sodium is bundled with PHP from PHP 8.0.0"
|
||||
echo "Sodium is bundled with PHP from PHP 7.2.0"
|
||||
echo
|
||||
else
|
||||
echo "---------- Install sodium ----------"
|
||||
@ -526,46 +529,64 @@ fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,amqp,*}" ]]; then
|
||||
echo "---------- Install amqp ----------"
|
||||
apk add --no-cache -U autoconf
|
||||
apk add --no-cache -U gcc
|
||||
apk add --no-cache -U linux-headers
|
||||
apk add --no-cache -U libc-dev
|
||||
|
||||
apk add --no-cache --update --virtual .phpize-deps-configure $PHPIZE_DEPS \
|
||||
&& apk add rabbitmq-c-dev \
|
||||
&& printf '\n' | pecl install amqp \
|
||||
&& docker-php-ext-enable amqp \
|
||||
&& apk del .phpize-deps-configure
|
||||
|
||||
apk add --no-cache rabbitmq-c-dev
|
||||
installExtensionFromTgz amqp-1.10.2
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,redis,*}" ]]; then
|
||||
echo "---------- Install redis ----------"
|
||||
installExtensionFromTgz redis-5.3.7
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
if [[ "$?" = "1" ]]; then
|
||||
installExtensionFromTgz redis-5.2.2
|
||||
else
|
||||
printf "\n" | pecl install redis-4.3.0
|
||||
docker-php-ext-enable redis
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,apcu,*}" ]]; then
|
||||
echo "---------- Install apcu ----------"
|
||||
pecl install apcu
|
||||
docker-php-ext-enable apcu
|
||||
installExtensionFromTgz apcu-5.1.17
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,memcached,*}" ]]; then
|
||||
echo "---------- Install memcached ----------"
|
||||
apk add --no-cache libmemcached-dev zlib-dev
|
||||
pecl install memcached-3.2.3
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
printf "\n" | pecl install memcached-3.1.3
|
||||
else
|
||||
printf "\n" | pecl install memcached-2.2.0
|
||||
fi
|
||||
|
||||
docker-php-ext-enable memcached
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,memcache,*}" ]]; then
|
||||
echo "---------- Install memcache ----------"
|
||||
pecl install memcache
|
||||
docker-php-ext-enable memcache
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
if [[ "$?" = "1" ]]; then
|
||||
installExtensionFromTgz memcache-4.0.5.2
|
||||
else
|
||||
installExtensionFromTgz memcache-2.2.6
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,xdebug,*}" ]]; then
|
||||
echo "---------- Install xdebug ----------"
|
||||
installExtensionFromTgz xdebug-3.2.0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
isPhpVersionGreaterOrEqual 7 4
|
||||
if [[ "$?" = "1" ]]; then
|
||||
installExtensionFromTgz xdebug-2.9.2
|
||||
else
|
||||
installExtensionFromTgz xdebug-2.6.1
|
||||
fi
|
||||
else
|
||||
installExtensionFromTgz xdebug-2.5.5
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,event,*}" ]]; then
|
||||
@ -579,27 +600,38 @@ if [[ -z "${EXTENSIONS##*,event,*}" ]]; then
|
||||
fi
|
||||
|
||||
echo "---------- Install event again ----------"
|
||||
installExtensionFromTgz event-3.0.5 "--ini-name event.ini"
|
||||
installExtensionFromTgz event-2.5.6 "--ini-name event.ini"
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,mongodb,*}" ]]; then
|
||||
echo "---------- Install mongodb ----------"
|
||||
pecl install mongodb
|
||||
docker-php-ext-enable mongodb
|
||||
installExtensionFromTgz mongodb-1.7.4
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,yaf,*}" ]]; then
|
||||
echo "---------- Install yaf ----------"
|
||||
pecl install yaf
|
||||
docker-php-ext-enable yaf
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
printf "\n" | pecl install yaf
|
||||
docker-php-ext-enable yaf
|
||||
else
|
||||
installExtensionFromTgz yaf-2.3.5
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,swoole,*}" ]]; then
|
||||
echo "---------- Install swoole ----------"
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
echo "---------- Install swoole ----------"
|
||||
# Fix: Refer to the line containing "swoole@alpine)" in file "./install-php-extensions"
|
||||
apk add --no-cache libstdc++
|
||||
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
installExtensionFromTgz swoole-5.0.2 --enable-openssl
|
||||
installExtensionFromTgz swoole-4.5.2
|
||||
else
|
||||
installExtensionFromTgz swoole-2.0.11
|
||||
fi
|
||||
fi
|
||||
|
||||
@ -608,7 +640,7 @@ if [[ -z "${EXTENSIONS##*,zip,*}" ]]; then
|
||||
# Fix: https://github.com/docker-library/php/issues/797
|
||||
apk add --no-cache libzip-dev
|
||||
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 4
|
||||
if [[ "$?" != "1" ]]; then
|
||||
docker-php-ext-configure zip --with-libzip=/usr/include
|
||||
fi
|
||||
@ -618,39 +650,48 @@ fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,xhprof,*}" ]]; then
|
||||
echo "---------- Install XHProf ----------"
|
||||
pecl install xhprof
|
||||
docker-php-ext-enable xhprof
|
||||
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
mkdir xhprof \
|
||||
&& tar -xf xhprof-2.2.0.tgz -C xhprof --strip-components=1 \
|
||||
&& ( cd xhprof/extension/ && phpize && ./configure && make ${MC} && make install ) \
|
||||
&& docker-php-ext-enable xhprof
|
||||
else
|
||||
echo "---------- PHP Version>= 7.0----------"
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,xlswriter,*}" ]]; then
|
||||
echo "---------- Install xlswriter ----------"
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
printf "\n" | pecl install xlswriter
|
||||
docker-php-ext-enable xlswriter
|
||||
else
|
||||
echo "---------- PHP Version>= 8.0----------"
|
||||
echo "---------- PHP Version>= 7.0----------"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,rdkafka,*}" ]]; then
|
||||
echo "---------- Install rdkafka ----------"
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 5 6
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
apk add librdkafka-dev
|
||||
printf "\n" | pecl install rdkafka
|
||||
docker-php-ext-enable rdkafka
|
||||
else
|
||||
echo "---------- PHP Version>= 8.0----------"
|
||||
echo "---------- PHP Version>= 5.6----------"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,zookeeper,*}" ]]; then
|
||||
echo "---------- Install zookeeper ----------"
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
apk add re2c
|
||||
@ -658,26 +699,26 @@ if [[ -z "${EXTENSIONS##*,zookeeper,*}" ]]; then
|
||||
printf "\n" | pecl install zookeeper
|
||||
docker-php-ext-enable zookeeper
|
||||
else
|
||||
echo "---------- PHP Version>= 8.0----------"
|
||||
echo "---------- PHP Version>= 7.0----------"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,phalcon,*}" ]]; then
|
||||
echo "---------- Install phalcon ----------"
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 2
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
printf "\n" | pecl install phalcon
|
||||
docker-php-ext-enable psr
|
||||
docker-php-ext-enable phalcon
|
||||
else
|
||||
echo "---------- PHP Version>= 8.0----------"
|
||||
echo "---------- PHP Version>= 7.2----------"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,sdebug,*}" ]]; then
|
||||
echo "---------- Install sdebug ----------"
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 2
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
curl -SL "https://github.com/swoole/sdebug/archive/sdebug_2_9-beta.tar.gz" -o sdebug.tar.gz \
|
||||
@ -692,7 +733,7 @@ if [[ -z "${EXTENSIONS##*,sdebug,*}" ]]; then
|
||||
) \
|
||||
&& docker-php-ext-enable xdebug
|
||||
else
|
||||
echo "---------- PHP Version>= 8.0----------"
|
||||
echo "---------- PHP Version>= 7.2----------"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
@ -311,7 +311,7 @@ serialize_precision = -1
|
||||
; This directive allows you to disable certain functions for security reasons.
|
||||
; It receives a comma-delimited list of function names.
|
||||
; http://php.net/disable-functions
|
||||
disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,popen,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
|
||||
disable_functions =
|
||||
|
||||
; This directive allows you to disable certain classes for security reasons.
|
||||
; It receives a comma-delimited list of class names.
|
||||
|
@ -27,9 +27,9 @@ export EXTENSIONS=",${PHP_EXTENSIONS},"
|
||||
# specific version.
|
||||
#
|
||||
# For example, to check if current php is greater than or
|
||||
# equal to PHP 8.0:
|
||||
# equal to PHP 7.0:
|
||||
#
|
||||
# isPhpVersionGreaterOrEqual 8 0
|
||||
# isPhpVersionGreaterOrEqual 7 0
|
||||
#
|
||||
# Param 1: Specific PHP Major version
|
||||
# Param 2: Specific PHP Minor version
|
||||
@ -62,9 +62,10 @@ installExtensionFromTgz()
|
||||
tgzName=$1
|
||||
para1=
|
||||
extensionName="${tgzName%%-*}"
|
||||
if [ $2 ]; then
|
||||
|
||||
if [ $2 ]; then
|
||||
para1=$2
|
||||
fi
|
||||
fi
|
||||
mkdir ${extensionName}
|
||||
tar -xf ${tgzName}.tgz -C ${extensionName} --strip-components=1
|
||||
( cd ${extensionName} && phpize && ./configure ${para1} && make ${MC} && make install )
|
||||
@ -72,6 +73,18 @@ installExtensionFromTgz()
|
||||
docker-php-ext-enable ${extensionName}
|
||||
}
|
||||
|
||||
# install use install-php-extensions
|
||||
if [[ -z "${EXTENSIONS##*,ioncube_loader,*}" ]]; then
|
||||
echo "---------- Install ioncube_loader ----------"
|
||||
install-php-extensions ioncube_loader
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,imagick,*}" ]]; then
|
||||
echo "---------- Install imagick ----------"
|
||||
install-php-extensions imagick
|
||||
fi
|
||||
# end
|
||||
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,pdo_mysql,*}" ]]; then
|
||||
echo "---------- Install pdo_mysql ----------"
|
||||
@ -208,19 +221,9 @@ if [[ -z "${EXTENSIONS##*,hprose,*}" ]]; then
|
||||
docker-php-ext-enable hprose
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,ioncube_loader,*}" ]]; then
|
||||
echo "---------- Install ioncube_loader ----------"
|
||||
install-php-extensions ioncube_loader
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,imagick,*}" ]]; then
|
||||
echo "---------- Install imagick ----------"
|
||||
install-php-extensions imagick
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,gd,*}" ]]; then
|
||||
echo "---------- Install gd ----------"
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 4
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
# "--with-xxx-dir" was removed from php 7.4,
|
||||
@ -389,47 +392,47 @@ fi
|
||||
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,ssh2,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo "---------- Install ssh2 ----------"
|
||||
printf "\n" | apk add libssh2-dev
|
||||
pecl install ssh2-1.1.2
|
||||
docker-php-ext-enable ssh2
|
||||
else
|
||||
echo "ssh2 requires PHP >= 8.0.0, installed version is ${PHP_VERSION}"
|
||||
echo "ssh2 requires PHP >= 7.0.0, installed version is ${PHP_VERSION}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,protobuf,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo "---------- Install protobuf ----------"
|
||||
printf "\n" | pecl install protobuf
|
||||
docker-php-ext-enable protobuf
|
||||
else
|
||||
echo "yar requires PHP >= 8.0.0, installed version is ${PHP_VERSION}"
|
||||
echo "yar requires PHP >= 7.0.0, installed version is ${PHP_VERSION}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,yac,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo "---------- Install yac ----------"
|
||||
printf "\n" | pecl install yac-2.0.2
|
||||
docker-php-ext-enable yac
|
||||
else
|
||||
echo "yar requires PHP >= 8.0.0, installed version is ${PHP_VERSION}"
|
||||
echo "yar requires PHP >= 7.0.0, installed version is ${PHP_VERSION}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,yar,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo "---------- Install yar ----------"
|
||||
printf "\n" | pecl install yar
|
||||
docker-php-ext-enable yar
|
||||
else
|
||||
echo "yar requires PHP >= 8.0.0, installed version is ${PHP_VERSION}"
|
||||
echo "yar requires PHP >= 7.0.0, installed version is ${PHP_VERSION}"
|
||||
fi
|
||||
|
||||
fi
|
||||
@ -437,13 +440,13 @@ fi
|
||||
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,yaconf,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo "---------- Install yaconf ----------"
|
||||
printf "\n" | pecl install yaconf
|
||||
docker-php-ext-enable yaconf
|
||||
else
|
||||
echo "yar requires PHP >= 8.0.0, installed version is ${PHP_VERSION}"
|
||||
echo "yar requires PHP >= 7.0.0, installed version is ${PHP_VERSION}"
|
||||
fi
|
||||
fi
|
||||
|
||||
@ -461,7 +464,7 @@ if [[ -z "${EXTENSIONS##*,varnish,*}" ]]; then
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,pdo_sqlsrv,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 1
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo "---------- Install pdo_sqlsrv ----------"
|
||||
apk add --no-cache unixodbc-dev
|
||||
@ -470,24 +473,24 @@ if [[ -z "${EXTENSIONS##*,pdo_sqlsrv,*}" ]]; then
|
||||
curl -o /tmp/msodbcsql17_amd64.apk https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_17.5.2.1-1_amd64.apk
|
||||
apk add --allow-untrusted /tmp/msodbcsql17_amd64.apk
|
||||
else
|
||||
echo "pdo_sqlsrv requires PHP >= 8.0.0, installed version is ${PHP_VERSION}"
|
||||
echo "pdo_sqlsrv requires PHP >= 7.1.0, installed version is ${PHP_VERSION}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,sqlsrv,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 1
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo "---------- Install sqlsrv ----------"
|
||||
apk add --no-cache unixodbc-dev
|
||||
printf "\n" | pecl install sqlsrv
|
||||
docker-php-ext-enable sqlsrv
|
||||
else
|
||||
echo "pdo_sqlsrv requires PHP >= 8.0.0, installed version is ${PHP_VERSION}"
|
||||
echo "pdo_sqlsrv requires PHP >= 7.1.0, installed version is ${PHP_VERSION}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,mcrypt,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo "---------- Install mcrypt ----------"
|
||||
apk add --no-cache libmcrypt-dev libmcrypt re2c
|
||||
@ -501,10 +504,10 @@ if [[ -z "${EXTENSIONS##*,mcrypt,*}" ]]; then
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,mysql,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo "---------- mysql was REMOVED from PHP 8.0.0 ----------"
|
||||
echo "---------- mysql was REMOVED from PHP 7.0.0 ----------"
|
||||
else
|
||||
echo "---------- Install mysql ----------"
|
||||
docker-php-ext-install ${MC} mysql
|
||||
@ -512,10 +515,10 @@ if [[ -z "${EXTENSIONS##*,mysql,*}" ]]; then
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,sodium,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 2
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo
|
||||
echo "Sodium is bundled with PHP from PHP 8.0.0"
|
||||
echo "Sodium is bundled with PHP from PHP 7.2.0"
|
||||
echo
|
||||
else
|
||||
echo "---------- Install sodium ----------"
|
||||
@ -526,46 +529,64 @@ fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,amqp,*}" ]]; then
|
||||
echo "---------- Install amqp ----------"
|
||||
apk add --no-cache -U autoconf
|
||||
apk add --no-cache -U gcc
|
||||
apk add --no-cache -U linux-headers
|
||||
apk add --no-cache -U libc-dev
|
||||
|
||||
apk add --no-cache --update --virtual .phpize-deps-configure $PHPIZE_DEPS \
|
||||
&& apk add rabbitmq-c-dev \
|
||||
&& printf '\n' | pecl install amqp \
|
||||
&& docker-php-ext-enable amqp \
|
||||
&& apk del .phpize-deps-configure
|
||||
|
||||
apk add --no-cache rabbitmq-c-dev
|
||||
installExtensionFromTgz amqp-1.10.2
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,redis,*}" ]]; then
|
||||
echo "---------- Install redis ----------"
|
||||
installExtensionFromTgz redis-5.3.7
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
if [[ "$?" = "1" ]]; then
|
||||
installExtensionFromTgz redis-5.2.2
|
||||
else
|
||||
printf "\n" | pecl install redis-4.3.0
|
||||
docker-php-ext-enable redis
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,apcu,*}" ]]; then
|
||||
echo "---------- Install apcu ----------"
|
||||
pecl install apcu
|
||||
docker-php-ext-enable apcu
|
||||
installExtensionFromTgz apcu-5.1.17
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,memcached,*}" ]]; then
|
||||
echo "---------- Install memcached ----------"
|
||||
apk add --no-cache libmemcached-dev zlib-dev
|
||||
pecl install memcached-3.2.3
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
printf "\n" | pecl install memcached-3.1.3
|
||||
else
|
||||
printf "\n" | pecl install memcached-2.2.0
|
||||
fi
|
||||
|
||||
docker-php-ext-enable memcached
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,memcache,*}" ]]; then
|
||||
echo "---------- Install memcache ----------"
|
||||
pecl install memcache
|
||||
docker-php-ext-enable memcache
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
if [[ "$?" = "1" ]]; then
|
||||
installExtensionFromTgz memcache-4.0.5.2
|
||||
else
|
||||
installExtensionFromTgz memcache-2.2.6
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,xdebug,*}" ]]; then
|
||||
echo "---------- Install xdebug ----------"
|
||||
installExtensionFromTgz xdebug-3.2.0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
isPhpVersionGreaterOrEqual 7 4
|
||||
if [[ "$?" = "1" ]]; then
|
||||
installExtensionFromTgz xdebug-2.9.2
|
||||
else
|
||||
installExtensionFromTgz xdebug-2.6.1
|
||||
fi
|
||||
else
|
||||
installExtensionFromTgz xdebug-2.5.5
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,event,*}" ]]; then
|
||||
@ -579,27 +600,38 @@ if [[ -z "${EXTENSIONS##*,event,*}" ]]; then
|
||||
fi
|
||||
|
||||
echo "---------- Install event again ----------"
|
||||
installExtensionFromTgz event-3.0.5 "--ini-name event.ini"
|
||||
installExtensionFromTgz event-2.5.6 "--ini-name event.ini"
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,mongodb,*}" ]]; then
|
||||
echo "---------- Install mongodb ----------"
|
||||
pecl install mongodb
|
||||
docker-php-ext-enable mongodb
|
||||
installExtensionFromTgz mongodb-1.7.4
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,yaf,*}" ]]; then
|
||||
echo "---------- Install yaf ----------"
|
||||
pecl install yaf
|
||||
docker-php-ext-enable yaf
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
printf "\n" | pecl install yaf
|
||||
docker-php-ext-enable yaf
|
||||
else
|
||||
installExtensionFromTgz yaf-2.3.5
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,swoole,*}" ]]; then
|
||||
echo "---------- Install swoole ----------"
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
echo "---------- Install swoole ----------"
|
||||
# Fix: Refer to the line containing "swoole@alpine)" in file "./install-php-extensions"
|
||||
apk add --no-cache libstdc++
|
||||
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
installExtensionFromTgz swoole-5.0.2 --enable-openssl
|
||||
installExtensionFromTgz swoole-4.5.2
|
||||
else
|
||||
installExtensionFromTgz swoole-2.0.11
|
||||
fi
|
||||
fi
|
||||
|
||||
@ -608,7 +640,7 @@ if [[ -z "${EXTENSIONS##*,zip,*}" ]]; then
|
||||
# Fix: https://github.com/docker-library/php/issues/797
|
||||
apk add --no-cache libzip-dev
|
||||
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 4
|
||||
if [[ "$?" != "1" ]]; then
|
||||
docker-php-ext-configure zip --with-libzip=/usr/include
|
||||
fi
|
||||
@ -618,39 +650,48 @@ fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,xhprof,*}" ]]; then
|
||||
echo "---------- Install XHProf ----------"
|
||||
pecl install xhprof
|
||||
docker-php-ext-enable xhprof
|
||||
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
mkdir xhprof \
|
||||
&& tar -xf xhprof-2.2.0.tgz -C xhprof --strip-components=1 \
|
||||
&& ( cd xhprof/extension/ && phpize && ./configure && make ${MC} && make install ) \
|
||||
&& docker-php-ext-enable xhprof
|
||||
else
|
||||
echo "---------- PHP Version>= 7.0----------"
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,xlswriter,*}" ]]; then
|
||||
echo "---------- Install xlswriter ----------"
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
printf "\n" | pecl install xlswriter
|
||||
docker-php-ext-enable xlswriter
|
||||
else
|
||||
echo "---------- PHP Version>= 8.0----------"
|
||||
echo "---------- PHP Version>= 7.0----------"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,rdkafka,*}" ]]; then
|
||||
echo "---------- Install rdkafka ----------"
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 5 6
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
apk add librdkafka-dev
|
||||
printf "\n" | pecl install rdkafka
|
||||
docker-php-ext-enable rdkafka
|
||||
else
|
||||
echo "---------- PHP Version>= 8.0----------"
|
||||
echo "---------- PHP Version>= 5.6----------"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,zookeeper,*}" ]]; then
|
||||
echo "---------- Install zookeeper ----------"
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
apk add re2c
|
||||
@ -658,26 +699,26 @@ if [[ -z "${EXTENSIONS##*,zookeeper,*}" ]]; then
|
||||
printf "\n" | pecl install zookeeper
|
||||
docker-php-ext-enable zookeeper
|
||||
else
|
||||
echo "---------- PHP Version>= 8.0----------"
|
||||
echo "---------- PHP Version>= 7.0----------"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,phalcon,*}" ]]; then
|
||||
echo "---------- Install phalcon ----------"
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 2
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
printf "\n" | pecl install phalcon
|
||||
docker-php-ext-enable psr
|
||||
docker-php-ext-enable phalcon
|
||||
else
|
||||
echo "---------- PHP Version>= 8.0----------"
|
||||
echo "---------- PHP Version>= 7.2----------"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,sdebug,*}" ]]; then
|
||||
echo "---------- Install sdebug ----------"
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 2
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
curl -SL "https://github.com/swoole/sdebug/archive/sdebug_2_9-beta.tar.gz" -o sdebug.tar.gz \
|
||||
@ -692,7 +733,7 @@ if [[ -z "${EXTENSIONS##*,sdebug,*}" ]]; then
|
||||
) \
|
||||
&& docker-php-ext-enable xdebug
|
||||
else
|
||||
echo "---------- PHP Version>= 8.0----------"
|
||||
echo "---------- PHP Version>= 7.2----------"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
@ -311,7 +311,7 @@ serialize_precision = -1
|
||||
; This directive allows you to disable certain functions for security reasons.
|
||||
; It receives a comma-delimited list of function names.
|
||||
; http://php.net/disable-functions
|
||||
disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,popen,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
|
||||
disable_functions =
|
||||
|
||||
; This directive allows you to disable certain classes for security reasons.
|
||||
; It receives a comma-delimited list of class names.
|
||||
|
@ -27,9 +27,9 @@ export EXTENSIONS=",${PHP_EXTENSIONS},"
|
||||
# specific version.
|
||||
#
|
||||
# For example, to check if current php is greater than or
|
||||
# equal to PHP 8.0:
|
||||
# equal to PHP 7.0:
|
||||
#
|
||||
# isPhpVersionGreaterOrEqual 8 0
|
||||
# isPhpVersionGreaterOrEqual 7 0
|
||||
#
|
||||
# Param 1: Specific PHP Major version
|
||||
# Param 2: Specific PHP Minor version
|
||||
@ -62,9 +62,10 @@ installExtensionFromTgz()
|
||||
tgzName=$1
|
||||
para1=
|
||||
extensionName="${tgzName%%-*}"
|
||||
if [ $2 ]; then
|
||||
|
||||
if [ $2 ]; then
|
||||
para1=$2
|
||||
fi
|
||||
fi
|
||||
mkdir ${extensionName}
|
||||
tar -xf ${tgzName}.tgz -C ${extensionName} --strip-components=1
|
||||
( cd ${extensionName} && phpize && ./configure ${para1} && make ${MC} && make install )
|
||||
@ -72,6 +73,18 @@ installExtensionFromTgz()
|
||||
docker-php-ext-enable ${extensionName}
|
||||
}
|
||||
|
||||
# install use install-php-extensions
|
||||
if [[ -z "${EXTENSIONS##*,ioncube_loader,*}" ]]; then
|
||||
echo "---------- Install ioncube_loader ----------"
|
||||
install-php-extensions ioncube_loader
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,imagick,*}" ]]; then
|
||||
echo "---------- Install imagick ----------"
|
||||
install-php-extensions imagick
|
||||
fi
|
||||
# end
|
||||
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,pdo_mysql,*}" ]]; then
|
||||
echo "---------- Install pdo_mysql ----------"
|
||||
@ -208,19 +221,9 @@ if [[ -z "${EXTENSIONS##*,hprose,*}" ]]; then
|
||||
docker-php-ext-enable hprose
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,ioncube_loader,*}" ]]; then
|
||||
echo "---------- Install ioncube_loader ----------"
|
||||
install-php-extensions ioncube_loader
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,imagick,*}" ]]; then
|
||||
echo "---------- Install imagick ----------"
|
||||
install-php-extensions imagick
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,gd,*}" ]]; then
|
||||
echo "---------- Install gd ----------"
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 4
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
# "--with-xxx-dir" was removed from php 7.4,
|
||||
@ -389,47 +392,47 @@ fi
|
||||
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,ssh2,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo "---------- Install ssh2 ----------"
|
||||
printf "\n" | apk add libssh2-dev
|
||||
pecl install ssh2-1.1.2
|
||||
docker-php-ext-enable ssh2
|
||||
else
|
||||
echo "ssh2 requires PHP >= 8.0.0, installed version is ${PHP_VERSION}"
|
||||
echo "ssh2 requires PHP >= 7.0.0, installed version is ${PHP_VERSION}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,protobuf,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo "---------- Install protobuf ----------"
|
||||
printf "\n" | pecl install protobuf
|
||||
docker-php-ext-enable protobuf
|
||||
else
|
||||
echo "yar requires PHP >= 8.0.0, installed version is ${PHP_VERSION}"
|
||||
echo "yar requires PHP >= 7.0.0, installed version is ${PHP_VERSION}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,yac,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo "---------- Install yac ----------"
|
||||
printf "\n" | pecl install yac-2.0.2
|
||||
docker-php-ext-enable yac
|
||||
else
|
||||
echo "yar requires PHP >= 8.0.0, installed version is ${PHP_VERSION}"
|
||||
echo "yar requires PHP >= 7.0.0, installed version is ${PHP_VERSION}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,yar,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo "---------- Install yar ----------"
|
||||
printf "\n" | pecl install yar
|
||||
docker-php-ext-enable yar
|
||||
else
|
||||
echo "yar requires PHP >= 8.0.0, installed version is ${PHP_VERSION}"
|
||||
echo "yar requires PHP >= 7.0.0, installed version is ${PHP_VERSION}"
|
||||
fi
|
||||
|
||||
fi
|
||||
@ -437,13 +440,13 @@ fi
|
||||
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,yaconf,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo "---------- Install yaconf ----------"
|
||||
printf "\n" | pecl install yaconf
|
||||
docker-php-ext-enable yaconf
|
||||
else
|
||||
echo "yar requires PHP >= 8.0.0, installed version is ${PHP_VERSION}"
|
||||
echo "yar requires PHP >= 7.0.0, installed version is ${PHP_VERSION}"
|
||||
fi
|
||||
fi
|
||||
|
||||
@ -461,7 +464,7 @@ if [[ -z "${EXTENSIONS##*,varnish,*}" ]]; then
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,pdo_sqlsrv,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 1
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo "---------- Install pdo_sqlsrv ----------"
|
||||
apk add --no-cache unixodbc-dev
|
||||
@ -470,24 +473,24 @@ if [[ -z "${EXTENSIONS##*,pdo_sqlsrv,*}" ]]; then
|
||||
curl -o /tmp/msodbcsql17_amd64.apk https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_17.5.2.1-1_amd64.apk
|
||||
apk add --allow-untrusted /tmp/msodbcsql17_amd64.apk
|
||||
else
|
||||
echo "pdo_sqlsrv requires PHP >= 8.0.0, installed version is ${PHP_VERSION}"
|
||||
echo "pdo_sqlsrv requires PHP >= 7.1.0, installed version is ${PHP_VERSION}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,sqlsrv,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 1
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo "---------- Install sqlsrv ----------"
|
||||
apk add --no-cache unixodbc-dev
|
||||
printf "\n" | pecl install sqlsrv
|
||||
docker-php-ext-enable sqlsrv
|
||||
else
|
||||
echo "pdo_sqlsrv requires PHP >= 8.0.0, installed version is ${PHP_VERSION}"
|
||||
echo "pdo_sqlsrv requires PHP >= 7.1.0, installed version is ${PHP_VERSION}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,mcrypt,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo "---------- Install mcrypt ----------"
|
||||
apk add --no-cache libmcrypt-dev libmcrypt re2c
|
||||
@ -501,10 +504,10 @@ if [[ -z "${EXTENSIONS##*,mcrypt,*}" ]]; then
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,mysql,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo "---------- mysql was REMOVED from PHP 8.0.0 ----------"
|
||||
echo "---------- mysql was REMOVED from PHP 7.0.0 ----------"
|
||||
else
|
||||
echo "---------- Install mysql ----------"
|
||||
docker-php-ext-install ${MC} mysql
|
||||
@ -512,10 +515,10 @@ if [[ -z "${EXTENSIONS##*,mysql,*}" ]]; then
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,sodium,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 2
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo
|
||||
echo "Sodium is bundled with PHP from PHP 8.0.0"
|
||||
echo "Sodium is bundled with PHP from PHP 7.2.0"
|
||||
echo
|
||||
else
|
||||
echo "---------- Install sodium ----------"
|
||||
@ -526,46 +529,64 @@ fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,amqp,*}" ]]; then
|
||||
echo "---------- Install amqp ----------"
|
||||
apk add --no-cache -U autoconf
|
||||
apk add --no-cache -U gcc
|
||||
apk add --no-cache -U linux-headers
|
||||
apk add --no-cache -U libc-dev
|
||||
|
||||
apk add --no-cache --update --virtual .phpize-deps-configure $PHPIZE_DEPS \
|
||||
&& apk add rabbitmq-c-dev \
|
||||
&& printf '\n' | pecl install amqp \
|
||||
&& docker-php-ext-enable amqp \
|
||||
&& apk del .phpize-deps-configure
|
||||
|
||||
apk add --no-cache rabbitmq-c-dev
|
||||
installExtensionFromTgz amqp-1.10.2
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,redis,*}" ]]; then
|
||||
echo "---------- Install redis ----------"
|
||||
installExtensionFromTgz redis-5.3.7
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
if [[ "$?" = "1" ]]; then
|
||||
installExtensionFromTgz redis-5.2.2
|
||||
else
|
||||
printf "\n" | pecl install redis-4.3.0
|
||||
docker-php-ext-enable redis
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,apcu,*}" ]]; then
|
||||
echo "---------- Install apcu ----------"
|
||||
pecl install apcu
|
||||
docker-php-ext-enable apcu
|
||||
installExtensionFromTgz apcu-5.1.17
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,memcached,*}" ]]; then
|
||||
echo "---------- Install memcached ----------"
|
||||
apk add --no-cache libmemcached-dev zlib-dev
|
||||
pecl install memcached-3.2.3
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
printf "\n" | pecl install memcached-3.1.3
|
||||
else
|
||||
printf "\n" | pecl install memcached-2.2.0
|
||||
fi
|
||||
|
||||
docker-php-ext-enable memcached
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,memcache,*}" ]]; then
|
||||
echo "---------- Install memcache ----------"
|
||||
pecl install memcache
|
||||
docker-php-ext-enable memcache
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
if [[ "$?" = "1" ]]; then
|
||||
installExtensionFromTgz memcache-4.0.5.2
|
||||
else
|
||||
installExtensionFromTgz memcache-2.2.6
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,xdebug,*}" ]]; then
|
||||
echo "---------- Install xdebug ----------"
|
||||
installExtensionFromTgz xdebug-3.2.0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
isPhpVersionGreaterOrEqual 7 4
|
||||
if [[ "$?" = "1" ]]; then
|
||||
installExtensionFromTgz xdebug-2.9.2
|
||||
else
|
||||
installExtensionFromTgz xdebug-2.6.1
|
||||
fi
|
||||
else
|
||||
installExtensionFromTgz xdebug-2.5.5
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,event,*}" ]]; then
|
||||
@ -579,27 +600,38 @@ if [[ -z "${EXTENSIONS##*,event,*}" ]]; then
|
||||
fi
|
||||
|
||||
echo "---------- Install event again ----------"
|
||||
installExtensionFromTgz event-3.0.5 "--ini-name event.ini"
|
||||
installExtensionFromTgz event-2.5.6 "--ini-name event.ini"
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,mongodb,*}" ]]; then
|
||||
echo "---------- Install mongodb ----------"
|
||||
pecl install mongodb
|
||||
docker-php-ext-enable mongodb
|
||||
installExtensionFromTgz mongodb-1.7.4
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,yaf,*}" ]]; then
|
||||
echo "---------- Install yaf ----------"
|
||||
pecl install yaf
|
||||
docker-php-ext-enable yaf
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
printf "\n" | pecl install yaf
|
||||
docker-php-ext-enable yaf
|
||||
else
|
||||
installExtensionFromTgz yaf-2.3.5
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,swoole,*}" ]]; then
|
||||
echo "---------- Install swoole ----------"
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
echo "---------- Install swoole ----------"
|
||||
# Fix: Refer to the line containing "swoole@alpine)" in file "./install-php-extensions"
|
||||
apk add --no-cache libstdc++
|
||||
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
installExtensionFromTgz swoole-5.0.2 --enable-openssl
|
||||
installExtensionFromTgz swoole-4.5.2
|
||||
else
|
||||
installExtensionFromTgz swoole-2.0.11
|
||||
fi
|
||||
fi
|
||||
|
||||
@ -608,7 +640,7 @@ if [[ -z "${EXTENSIONS##*,zip,*}" ]]; then
|
||||
# Fix: https://github.com/docker-library/php/issues/797
|
||||
apk add --no-cache libzip-dev
|
||||
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 4
|
||||
if [[ "$?" != "1" ]]; then
|
||||
docker-php-ext-configure zip --with-libzip=/usr/include
|
||||
fi
|
||||
@ -618,39 +650,48 @@ fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,xhprof,*}" ]]; then
|
||||
echo "---------- Install XHProf ----------"
|
||||
pecl install xhprof
|
||||
docker-php-ext-enable xhprof
|
||||
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
mkdir xhprof \
|
||||
&& tar -xf xhprof-2.2.0.tgz -C xhprof --strip-components=1 \
|
||||
&& ( cd xhprof/extension/ && phpize && ./configure && make ${MC} && make install ) \
|
||||
&& docker-php-ext-enable xhprof
|
||||
else
|
||||
echo "---------- PHP Version>= 7.0----------"
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,xlswriter,*}" ]]; then
|
||||
echo "---------- Install xlswriter ----------"
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
printf "\n" | pecl install xlswriter
|
||||
docker-php-ext-enable xlswriter
|
||||
else
|
||||
echo "---------- PHP Version>= 8.0----------"
|
||||
echo "---------- PHP Version>= 7.0----------"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,rdkafka,*}" ]]; then
|
||||
echo "---------- Install rdkafka ----------"
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 5 6
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
apk add librdkafka-dev
|
||||
printf "\n" | pecl install rdkafka
|
||||
docker-php-ext-enable rdkafka
|
||||
else
|
||||
echo "---------- PHP Version>= 8.0----------"
|
||||
echo "---------- PHP Version>= 5.6----------"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,zookeeper,*}" ]]; then
|
||||
echo "---------- Install zookeeper ----------"
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
apk add re2c
|
||||
@ -658,26 +699,26 @@ if [[ -z "${EXTENSIONS##*,zookeeper,*}" ]]; then
|
||||
printf "\n" | pecl install zookeeper
|
||||
docker-php-ext-enable zookeeper
|
||||
else
|
||||
echo "---------- PHP Version>= 8.0----------"
|
||||
echo "---------- PHP Version>= 7.0----------"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,phalcon,*}" ]]; then
|
||||
echo "---------- Install phalcon ----------"
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 2
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
printf "\n" | pecl install phalcon
|
||||
docker-php-ext-enable psr
|
||||
docker-php-ext-enable phalcon
|
||||
else
|
||||
echo "---------- PHP Version>= 8.0----------"
|
||||
echo "---------- PHP Version>= 7.2----------"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,sdebug,*}" ]]; then
|
||||
echo "---------- Install sdebug ----------"
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 2
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
curl -SL "https://github.com/swoole/sdebug/archive/sdebug_2_9-beta.tar.gz" -o sdebug.tar.gz \
|
||||
@ -692,7 +733,7 @@ if [[ -z "${EXTENSIONS##*,sdebug,*}" ]]; then
|
||||
) \
|
||||
&& docker-php-ext-enable xdebug
|
||||
else
|
||||
echo "---------- PHP Version>= 8.0----------"
|
||||
echo "---------- PHP Version>= 7.2----------"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
@ -311,7 +311,7 @@ serialize_precision = -1
|
||||
; This directive allows you to disable certain functions for security reasons.
|
||||
; It receives a comma-delimited list of function names.
|
||||
; http://php.net/disable-functions
|
||||
disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,popen,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
|
||||
disable_functions =
|
||||
|
||||
; This directive allows you to disable certain classes for security reasons.
|
||||
; It receives a comma-delimited list of class names.
|
||||
|
@ -27,9 +27,9 @@ export EXTENSIONS=",${PHP_EXTENSIONS},"
|
||||
# specific version.
|
||||
#
|
||||
# For example, to check if current php is greater than or
|
||||
# equal to PHP 8.0:
|
||||
# equal to PHP 7.0:
|
||||
#
|
||||
# isPhpVersionGreaterOrEqual 8 0
|
||||
# isPhpVersionGreaterOrEqual 7 0
|
||||
#
|
||||
# Param 1: Specific PHP Major version
|
||||
# Param 2: Specific PHP Minor version
|
||||
@ -62,9 +62,10 @@ installExtensionFromTgz()
|
||||
tgzName=$1
|
||||
para1=
|
||||
extensionName="${tgzName%%-*}"
|
||||
if [ $2 ]; then
|
||||
|
||||
if [ $2 ]; then
|
||||
para1=$2
|
||||
fi
|
||||
fi
|
||||
mkdir ${extensionName}
|
||||
tar -xf ${tgzName}.tgz -C ${extensionName} --strip-components=1
|
||||
( cd ${extensionName} && phpize && ./configure ${para1} && make ${MC} && make install )
|
||||
@ -72,6 +73,18 @@ installExtensionFromTgz()
|
||||
docker-php-ext-enable ${extensionName}
|
||||
}
|
||||
|
||||
# install use install-php-extensions
|
||||
if [[ -z "${EXTENSIONS##*,ioncube_loader,*}" ]]; then
|
||||
echo "---------- Install ioncube_loader ----------"
|
||||
install-php-extensions ioncube_loader
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,imagick,*}" ]]; then
|
||||
echo "---------- Install imagick ----------"
|
||||
install-php-extensions imagick
|
||||
fi
|
||||
# end
|
||||
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,pdo_mysql,*}" ]]; then
|
||||
echo "---------- Install pdo_mysql ----------"
|
||||
@ -208,19 +221,9 @@ if [[ -z "${EXTENSIONS##*,hprose,*}" ]]; then
|
||||
docker-php-ext-enable hprose
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,ioncube_loader,*}" ]]; then
|
||||
echo "---------- Install ioncube_loader ----------"
|
||||
install-php-extensions ioncube_loader
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,imagick,*}" ]]; then
|
||||
echo "---------- Install imagick ----------"
|
||||
install-php-extensions imagick
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,gd,*}" ]]; then
|
||||
echo "---------- Install gd ----------"
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 4
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
# "--with-xxx-dir" was removed from php 7.4,
|
||||
@ -389,47 +392,47 @@ fi
|
||||
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,ssh2,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo "---------- Install ssh2 ----------"
|
||||
printf "\n" | apk add libssh2-dev
|
||||
pecl install ssh2-1.1.2
|
||||
docker-php-ext-enable ssh2
|
||||
else
|
||||
echo "ssh2 requires PHP >= 8.0.0, installed version is ${PHP_VERSION}"
|
||||
echo "ssh2 requires PHP >= 7.0.0, installed version is ${PHP_VERSION}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,protobuf,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo "---------- Install protobuf ----------"
|
||||
printf "\n" | pecl install protobuf
|
||||
docker-php-ext-enable protobuf
|
||||
else
|
||||
echo "yar requires PHP >= 8.0.0, installed version is ${PHP_VERSION}"
|
||||
echo "yar requires PHP >= 7.0.0, installed version is ${PHP_VERSION}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,yac,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo "---------- Install yac ----------"
|
||||
printf "\n" | pecl install yac-2.0.2
|
||||
docker-php-ext-enable yac
|
||||
else
|
||||
echo "yar requires PHP >= 8.0.0, installed version is ${PHP_VERSION}"
|
||||
echo "yar requires PHP >= 7.0.0, installed version is ${PHP_VERSION}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,yar,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo "---------- Install yar ----------"
|
||||
printf "\n" | pecl install yar
|
||||
docker-php-ext-enable yar
|
||||
else
|
||||
echo "yar requires PHP >= 8.0.0, installed version is ${PHP_VERSION}"
|
||||
echo "yar requires PHP >= 7.0.0, installed version is ${PHP_VERSION}"
|
||||
fi
|
||||
|
||||
fi
|
||||
@ -437,13 +440,13 @@ fi
|
||||
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,yaconf,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo "---------- Install yaconf ----------"
|
||||
printf "\n" | pecl install yaconf
|
||||
docker-php-ext-enable yaconf
|
||||
else
|
||||
echo "yar requires PHP >= 8.0.0, installed version is ${PHP_VERSION}"
|
||||
echo "yar requires PHP >= 7.0.0, installed version is ${PHP_VERSION}"
|
||||
fi
|
||||
fi
|
||||
|
||||
@ -461,7 +464,7 @@ if [[ -z "${EXTENSIONS##*,varnish,*}" ]]; then
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,pdo_sqlsrv,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 1
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo "---------- Install pdo_sqlsrv ----------"
|
||||
apk add --no-cache unixodbc-dev
|
||||
@ -470,24 +473,24 @@ if [[ -z "${EXTENSIONS##*,pdo_sqlsrv,*}" ]]; then
|
||||
curl -o /tmp/msodbcsql17_amd64.apk https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_17.5.2.1-1_amd64.apk
|
||||
apk add --allow-untrusted /tmp/msodbcsql17_amd64.apk
|
||||
else
|
||||
echo "pdo_sqlsrv requires PHP >= 8.0.0, installed version is ${PHP_VERSION}"
|
||||
echo "pdo_sqlsrv requires PHP >= 7.1.0, installed version is ${PHP_VERSION}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,sqlsrv,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 1
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo "---------- Install sqlsrv ----------"
|
||||
apk add --no-cache unixodbc-dev
|
||||
printf "\n" | pecl install sqlsrv
|
||||
docker-php-ext-enable sqlsrv
|
||||
else
|
||||
echo "pdo_sqlsrv requires PHP >= 8.0.0, installed version is ${PHP_VERSION}"
|
||||
echo "pdo_sqlsrv requires PHP >= 7.1.0, installed version is ${PHP_VERSION}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,mcrypt,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo "---------- Install mcrypt ----------"
|
||||
apk add --no-cache libmcrypt-dev libmcrypt re2c
|
||||
@ -501,10 +504,10 @@ if [[ -z "${EXTENSIONS##*,mcrypt,*}" ]]; then
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,mysql,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo "---------- mysql was REMOVED from PHP 8.0.0 ----------"
|
||||
echo "---------- mysql was REMOVED from PHP 7.0.0 ----------"
|
||||
else
|
||||
echo "---------- Install mysql ----------"
|
||||
docker-php-ext-install ${MC} mysql
|
||||
@ -512,10 +515,10 @@ if [[ -z "${EXTENSIONS##*,mysql,*}" ]]; then
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,sodium,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 2
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo
|
||||
echo "Sodium is bundled with PHP from PHP 8.0.0"
|
||||
echo "Sodium is bundled with PHP from PHP 7.2.0"
|
||||
echo
|
||||
else
|
||||
echo "---------- Install sodium ----------"
|
||||
@ -526,46 +529,64 @@ fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,amqp,*}" ]]; then
|
||||
echo "---------- Install amqp ----------"
|
||||
apk add --no-cache -U autoconf
|
||||
apk add --no-cache -U gcc
|
||||
apk add --no-cache -U linux-headers
|
||||
apk add --no-cache -U libc-dev
|
||||
|
||||
apk add --no-cache --update --virtual .phpize-deps-configure $PHPIZE_DEPS \
|
||||
&& apk add rabbitmq-c-dev \
|
||||
&& printf '\n' | pecl install amqp \
|
||||
&& docker-php-ext-enable amqp \
|
||||
&& apk del .phpize-deps-configure
|
||||
|
||||
apk add --no-cache rabbitmq-c-dev
|
||||
installExtensionFromTgz amqp-1.10.2
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,redis,*}" ]]; then
|
||||
echo "---------- Install redis ----------"
|
||||
installExtensionFromTgz redis-5.3.7
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
if [[ "$?" = "1" ]]; then
|
||||
installExtensionFromTgz redis-5.2.2
|
||||
else
|
||||
printf "\n" | pecl install redis-4.3.0
|
||||
docker-php-ext-enable redis
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,apcu,*}" ]]; then
|
||||
echo "---------- Install apcu ----------"
|
||||
pecl install apcu
|
||||
docker-php-ext-enable apcu
|
||||
installExtensionFromTgz apcu-5.1.17
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,memcached,*}" ]]; then
|
||||
echo "---------- Install memcached ----------"
|
||||
apk add --no-cache libmemcached-dev zlib-dev
|
||||
pecl install memcached-3.2.3
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
printf "\n" | pecl install memcached-3.1.3
|
||||
else
|
||||
printf "\n" | pecl install memcached-2.2.0
|
||||
fi
|
||||
|
||||
docker-php-ext-enable memcached
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,memcache,*}" ]]; then
|
||||
echo "---------- Install memcache ----------"
|
||||
pecl install memcache
|
||||
docker-php-ext-enable memcache
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
if [[ "$?" = "1" ]]; then
|
||||
installExtensionFromTgz memcache-4.0.5.2
|
||||
else
|
||||
installExtensionFromTgz memcache-2.2.6
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,xdebug,*}" ]]; then
|
||||
echo "---------- Install xdebug ----------"
|
||||
installExtensionFromTgz xdebug-3.2.0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
isPhpVersionGreaterOrEqual 7 4
|
||||
if [[ "$?" = "1" ]]; then
|
||||
installExtensionFromTgz xdebug-2.9.2
|
||||
else
|
||||
installExtensionFromTgz xdebug-2.6.1
|
||||
fi
|
||||
else
|
||||
installExtensionFromTgz xdebug-2.5.5
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,event,*}" ]]; then
|
||||
@ -579,27 +600,38 @@ if [[ -z "${EXTENSIONS##*,event,*}" ]]; then
|
||||
fi
|
||||
|
||||
echo "---------- Install event again ----------"
|
||||
installExtensionFromTgz event-3.0.5 "--ini-name event.ini"
|
||||
installExtensionFromTgz event-2.5.6 "--ini-name event.ini"
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,mongodb,*}" ]]; then
|
||||
echo "---------- Install mongodb ----------"
|
||||
pecl install mongodb
|
||||
docker-php-ext-enable mongodb
|
||||
installExtensionFromTgz mongodb-1.7.4
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,yaf,*}" ]]; then
|
||||
echo "---------- Install yaf ----------"
|
||||
pecl install yaf
|
||||
docker-php-ext-enable yaf
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
printf "\n" | pecl install yaf
|
||||
docker-php-ext-enable yaf
|
||||
else
|
||||
installExtensionFromTgz yaf-2.3.5
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,swoole,*}" ]]; then
|
||||
echo "---------- Install swoole ----------"
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
echo "---------- Install swoole ----------"
|
||||
# Fix: Refer to the line containing "swoole@alpine)" in file "./install-php-extensions"
|
||||
apk add --no-cache libstdc++
|
||||
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
installExtensionFromTgz swoole-5.0.2 --enable-openssl
|
||||
installExtensionFromTgz swoole-4.5.2
|
||||
else
|
||||
installExtensionFromTgz swoole-2.0.11
|
||||
fi
|
||||
fi
|
||||
|
||||
@ -608,7 +640,7 @@ if [[ -z "${EXTENSIONS##*,zip,*}" ]]; then
|
||||
# Fix: https://github.com/docker-library/php/issues/797
|
||||
apk add --no-cache libzip-dev
|
||||
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 4
|
||||
if [[ "$?" != "1" ]]; then
|
||||
docker-php-ext-configure zip --with-libzip=/usr/include
|
||||
fi
|
||||
@ -618,39 +650,48 @@ fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,xhprof,*}" ]]; then
|
||||
echo "---------- Install XHProf ----------"
|
||||
pecl install xhprof
|
||||
docker-php-ext-enable xhprof
|
||||
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
mkdir xhprof \
|
||||
&& tar -xf xhprof-2.2.0.tgz -C xhprof --strip-components=1 \
|
||||
&& ( cd xhprof/extension/ && phpize && ./configure && make ${MC} && make install ) \
|
||||
&& docker-php-ext-enable xhprof
|
||||
else
|
||||
echo "---------- PHP Version>= 7.0----------"
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,xlswriter,*}" ]]; then
|
||||
echo "---------- Install xlswriter ----------"
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
printf "\n" | pecl install xlswriter
|
||||
docker-php-ext-enable xlswriter
|
||||
else
|
||||
echo "---------- PHP Version>= 8.0----------"
|
||||
echo "---------- PHP Version>= 7.0----------"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,rdkafka,*}" ]]; then
|
||||
echo "---------- Install rdkafka ----------"
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 5 6
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
apk add librdkafka-dev
|
||||
printf "\n" | pecl install rdkafka
|
||||
docker-php-ext-enable rdkafka
|
||||
else
|
||||
echo "---------- PHP Version>= 8.0----------"
|
||||
echo "---------- PHP Version>= 5.6----------"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,zookeeper,*}" ]]; then
|
||||
echo "---------- Install zookeeper ----------"
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
apk add re2c
|
||||
@ -658,26 +699,26 @@ if [[ -z "${EXTENSIONS##*,zookeeper,*}" ]]; then
|
||||
printf "\n" | pecl install zookeeper
|
||||
docker-php-ext-enable zookeeper
|
||||
else
|
||||
echo "---------- PHP Version>= 8.0----------"
|
||||
echo "---------- PHP Version>= 7.0----------"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,phalcon,*}" ]]; then
|
||||
echo "---------- Install phalcon ----------"
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 2
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
printf "\n" | pecl install phalcon
|
||||
docker-php-ext-enable psr
|
||||
docker-php-ext-enable phalcon
|
||||
else
|
||||
echo "---------- PHP Version>= 8.0----------"
|
||||
echo "---------- PHP Version>= 7.2----------"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,sdebug,*}" ]]; then
|
||||
echo "---------- Install sdebug ----------"
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 2
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
curl -SL "https://github.com/swoole/sdebug/archive/sdebug_2_9-beta.tar.gz" -o sdebug.tar.gz \
|
||||
@ -692,7 +733,7 @@ if [[ -z "${EXTENSIONS##*,sdebug,*}" ]]; then
|
||||
) \
|
||||
&& docker-php-ext-enable xdebug
|
||||
else
|
||||
echo "---------- PHP Version>= 8.0----------"
|
||||
echo "---------- PHP Version>= 7.2----------"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
@ -311,7 +311,7 @@ serialize_precision = -1
|
||||
; This directive allows you to disable certain functions for security reasons.
|
||||
; It receives a comma-delimited list of function names.
|
||||
; http://php.net/disable-functions
|
||||
disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,popen,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
|
||||
disable_functions =
|
||||
|
||||
; This directive allows you to disable certain classes for security reasons.
|
||||
; It receives a comma-delimited list of class names.
|
||||
|
@ -27,9 +27,9 @@ export EXTENSIONS=",${PHP_EXTENSIONS},"
|
||||
# specific version.
|
||||
#
|
||||
# For example, to check if current php is greater than or
|
||||
# equal to PHP 8.0:
|
||||
# equal to PHP 7.0:
|
||||
#
|
||||
# isPhpVersionGreaterOrEqual 8 0
|
||||
# isPhpVersionGreaterOrEqual 7 0
|
||||
#
|
||||
# Param 1: Specific PHP Major version
|
||||
# Param 2: Specific PHP Minor version
|
||||
@ -62,9 +62,10 @@ installExtensionFromTgz()
|
||||
tgzName=$1
|
||||
para1=
|
||||
extensionName="${tgzName%%-*}"
|
||||
if [ $2 ]; then
|
||||
|
||||
if [ $2 ]; then
|
||||
para1=$2
|
||||
fi
|
||||
fi
|
||||
mkdir ${extensionName}
|
||||
tar -xf ${tgzName}.tgz -C ${extensionName} --strip-components=1
|
||||
( cd ${extensionName} && phpize && ./configure ${para1} && make ${MC} && make install )
|
||||
@ -72,6 +73,18 @@ installExtensionFromTgz()
|
||||
docker-php-ext-enable ${extensionName}
|
||||
}
|
||||
|
||||
# install use install-php-extensions
|
||||
if [[ -z "${EXTENSIONS##*,ioncube_loader,*}" ]]; then
|
||||
echo "---------- Install ioncube_loader ----------"
|
||||
install-php-extensions ioncube_loader
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,imagick,*}" ]]; then
|
||||
echo "---------- Install imagick ----------"
|
||||
install-php-extensions imagick
|
||||
fi
|
||||
# end
|
||||
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,pdo_mysql,*}" ]]; then
|
||||
echo "---------- Install pdo_mysql ----------"
|
||||
@ -208,19 +221,9 @@ if [[ -z "${EXTENSIONS##*,hprose,*}" ]]; then
|
||||
docker-php-ext-enable hprose
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,ioncube_loader,*}" ]]; then
|
||||
echo "---------- Install ioncube_loader ----------"
|
||||
install-php-extensions ioncube_loader
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,imagick,*}" ]]; then
|
||||
echo "---------- Install imagick ----------"
|
||||
install-php-extensions imagick
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,gd,*}" ]]; then
|
||||
echo "---------- Install gd ----------"
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 4
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
# "--with-xxx-dir" was removed from php 7.4,
|
||||
@ -389,47 +392,47 @@ fi
|
||||
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,ssh2,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo "---------- Install ssh2 ----------"
|
||||
printf "\n" | apk add libssh2-dev
|
||||
pecl install ssh2-1.1.2
|
||||
docker-php-ext-enable ssh2
|
||||
else
|
||||
echo "ssh2 requires PHP >= 8.0.0, installed version is ${PHP_VERSION}"
|
||||
echo "ssh2 requires PHP >= 7.0.0, installed version is ${PHP_VERSION}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,protobuf,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo "---------- Install protobuf ----------"
|
||||
printf "\n" | pecl install protobuf
|
||||
docker-php-ext-enable protobuf
|
||||
else
|
||||
echo "yar requires PHP >= 8.0.0, installed version is ${PHP_VERSION}"
|
||||
echo "yar requires PHP >= 7.0.0, installed version is ${PHP_VERSION}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,yac,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo "---------- Install yac ----------"
|
||||
printf "\n" | pecl install yac-2.0.2
|
||||
docker-php-ext-enable yac
|
||||
else
|
||||
echo "yar requires PHP >= 8.0.0, installed version is ${PHP_VERSION}"
|
||||
echo "yar requires PHP >= 7.0.0, installed version is ${PHP_VERSION}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,yar,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo "---------- Install yar ----------"
|
||||
printf "\n" | pecl install yar
|
||||
docker-php-ext-enable yar
|
||||
else
|
||||
echo "yar requires PHP >= 8.0.0, installed version is ${PHP_VERSION}"
|
||||
echo "yar requires PHP >= 7.0.0, installed version is ${PHP_VERSION}"
|
||||
fi
|
||||
|
||||
fi
|
||||
@ -437,13 +440,13 @@ fi
|
||||
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,yaconf,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo "---------- Install yaconf ----------"
|
||||
printf "\n" | pecl install yaconf
|
||||
docker-php-ext-enable yaconf
|
||||
else
|
||||
echo "yar requires PHP >= 8.0.0, installed version is ${PHP_VERSION}"
|
||||
echo "yar requires PHP >= 7.0.0, installed version is ${PHP_VERSION}"
|
||||
fi
|
||||
fi
|
||||
|
||||
@ -461,7 +464,7 @@ if [[ -z "${EXTENSIONS##*,varnish,*}" ]]; then
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,pdo_sqlsrv,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 1
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo "---------- Install pdo_sqlsrv ----------"
|
||||
apk add --no-cache unixodbc-dev
|
||||
@ -470,24 +473,24 @@ if [[ -z "${EXTENSIONS##*,pdo_sqlsrv,*}" ]]; then
|
||||
curl -o /tmp/msodbcsql17_amd64.apk https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_17.5.2.1-1_amd64.apk
|
||||
apk add --allow-untrusted /tmp/msodbcsql17_amd64.apk
|
||||
else
|
||||
echo "pdo_sqlsrv requires PHP >= 8.0.0, installed version is ${PHP_VERSION}"
|
||||
echo "pdo_sqlsrv requires PHP >= 7.1.0, installed version is ${PHP_VERSION}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,sqlsrv,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 1
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo "---------- Install sqlsrv ----------"
|
||||
apk add --no-cache unixodbc-dev
|
||||
printf "\n" | pecl install sqlsrv
|
||||
docker-php-ext-enable sqlsrv
|
||||
else
|
||||
echo "pdo_sqlsrv requires PHP >= 8.0.0, installed version is ${PHP_VERSION}"
|
||||
echo "pdo_sqlsrv requires PHP >= 7.1.0, installed version is ${PHP_VERSION}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,mcrypt,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo "---------- Install mcrypt ----------"
|
||||
apk add --no-cache libmcrypt-dev libmcrypt re2c
|
||||
@ -501,10 +504,10 @@ if [[ -z "${EXTENSIONS##*,mcrypt,*}" ]]; then
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,mysql,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo "---------- mysql was REMOVED from PHP 8.0.0 ----------"
|
||||
echo "---------- mysql was REMOVED from PHP 7.0.0 ----------"
|
||||
else
|
||||
echo "---------- Install mysql ----------"
|
||||
docker-php-ext-install ${MC} mysql
|
||||
@ -512,10 +515,10 @@ if [[ -z "${EXTENSIONS##*,mysql,*}" ]]; then
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,sodium,*}" ]]; then
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 2
|
||||
if [[ "$?" = "1" ]]; then
|
||||
echo
|
||||
echo "Sodium is bundled with PHP from PHP 8.0.0"
|
||||
echo "Sodium is bundled with PHP from PHP 7.2.0"
|
||||
echo
|
||||
else
|
||||
echo "---------- Install sodium ----------"
|
||||
@ -526,46 +529,64 @@ fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,amqp,*}" ]]; then
|
||||
echo "---------- Install amqp ----------"
|
||||
apk add --no-cache -U autoconf
|
||||
apk add --no-cache -U gcc
|
||||
apk add --no-cache -U linux-headers
|
||||
apk add --no-cache -U libc-dev
|
||||
|
||||
apk add --no-cache --update --virtual .phpize-deps-configure $PHPIZE_DEPS \
|
||||
&& apk add rabbitmq-c-dev \
|
||||
&& printf '\n' | pecl install amqp \
|
||||
&& docker-php-ext-enable amqp \
|
||||
&& apk del .phpize-deps-configure
|
||||
|
||||
apk add --no-cache rabbitmq-c-dev
|
||||
installExtensionFromTgz amqp-1.10.2
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,redis,*}" ]]; then
|
||||
echo "---------- Install redis ----------"
|
||||
installExtensionFromTgz redis-5.3.7
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
if [[ "$?" = "1" ]]; then
|
||||
installExtensionFromTgz redis-5.2.2
|
||||
else
|
||||
printf "\n" | pecl install redis-4.3.0
|
||||
docker-php-ext-enable redis
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,apcu,*}" ]]; then
|
||||
echo "---------- Install apcu ----------"
|
||||
pecl install apcu
|
||||
docker-php-ext-enable apcu
|
||||
installExtensionFromTgz apcu-5.1.17
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,memcached,*}" ]]; then
|
||||
echo "---------- Install memcached ----------"
|
||||
apk add --no-cache libmemcached-dev zlib-dev
|
||||
pecl install memcached-3.2.3
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
printf "\n" | pecl install memcached-3.1.3
|
||||
else
|
||||
printf "\n" | pecl install memcached-2.2.0
|
||||
fi
|
||||
|
||||
docker-php-ext-enable memcached
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,memcache,*}" ]]; then
|
||||
echo "---------- Install memcache ----------"
|
||||
pecl install memcache
|
||||
docker-php-ext-enable memcache
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
if [[ "$?" = "1" ]]; then
|
||||
installExtensionFromTgz memcache-4.0.5.2
|
||||
else
|
||||
installExtensionFromTgz memcache-2.2.6
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,xdebug,*}" ]]; then
|
||||
echo "---------- Install xdebug ----------"
|
||||
installExtensionFromTgz xdebug-3.2.0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
isPhpVersionGreaterOrEqual 7 4
|
||||
if [[ "$?" = "1" ]]; then
|
||||
installExtensionFromTgz xdebug-2.9.2
|
||||
else
|
||||
installExtensionFromTgz xdebug-2.6.1
|
||||
fi
|
||||
else
|
||||
installExtensionFromTgz xdebug-2.5.5
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,event,*}" ]]; then
|
||||
@ -579,27 +600,38 @@ if [[ -z "${EXTENSIONS##*,event,*}" ]]; then
|
||||
fi
|
||||
|
||||
echo "---------- Install event again ----------"
|
||||
installExtensionFromTgz event-3.0.5 "--ini-name event.ini"
|
||||
installExtensionFromTgz event-2.5.6 "--ini-name event.ini"
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,mongodb,*}" ]]; then
|
||||
echo "---------- Install mongodb ----------"
|
||||
pecl install mongodb
|
||||
docker-php-ext-enable mongodb
|
||||
installExtensionFromTgz mongodb-1.7.4
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,yaf,*}" ]]; then
|
||||
echo "---------- Install yaf ----------"
|
||||
pecl install yaf
|
||||
docker-php-ext-enable yaf
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
printf "\n" | pecl install yaf
|
||||
docker-php-ext-enable yaf
|
||||
else
|
||||
installExtensionFromTgz yaf-2.3.5
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,swoole,*}" ]]; then
|
||||
echo "---------- Install swoole ----------"
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
echo "---------- Install swoole ----------"
|
||||
# Fix: Refer to the line containing "swoole@alpine)" in file "./install-php-extensions"
|
||||
apk add --no-cache libstdc++
|
||||
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
installExtensionFromTgz swoole-5.0.2 --enable-openssl
|
||||
installExtensionFromTgz swoole-4.5.2
|
||||
else
|
||||
installExtensionFromTgz swoole-2.0.11
|
||||
fi
|
||||
fi
|
||||
|
||||
@ -608,7 +640,7 @@ if [[ -z "${EXTENSIONS##*,zip,*}" ]]; then
|
||||
# Fix: https://github.com/docker-library/php/issues/797
|
||||
apk add --no-cache libzip-dev
|
||||
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 4
|
||||
if [[ "$?" != "1" ]]; then
|
||||
docker-php-ext-configure zip --with-libzip=/usr/include
|
||||
fi
|
||||
@ -618,39 +650,48 @@ fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,xhprof,*}" ]]; then
|
||||
echo "---------- Install XHProf ----------"
|
||||
pecl install xhprof
|
||||
docker-php-ext-enable xhprof
|
||||
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
mkdir xhprof \
|
||||
&& tar -xf xhprof-2.2.0.tgz -C xhprof --strip-components=1 \
|
||||
&& ( cd xhprof/extension/ && phpize && ./configure && make ${MC} && make install ) \
|
||||
&& docker-php-ext-enable xhprof
|
||||
else
|
||||
echo "---------- PHP Version>= 7.0----------"
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,xlswriter,*}" ]]; then
|
||||
echo "---------- Install xlswriter ----------"
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
printf "\n" | pecl install xlswriter
|
||||
docker-php-ext-enable xlswriter
|
||||
else
|
||||
echo "---------- PHP Version>= 8.0----------"
|
||||
echo "---------- PHP Version>= 7.0----------"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,rdkafka,*}" ]]; then
|
||||
echo "---------- Install rdkafka ----------"
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 5 6
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
apk add librdkafka-dev
|
||||
printf "\n" | pecl install rdkafka
|
||||
docker-php-ext-enable rdkafka
|
||||
else
|
||||
echo "---------- PHP Version>= 8.0----------"
|
||||
echo "---------- PHP Version>= 5.6----------"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,zookeeper,*}" ]]; then
|
||||
echo "---------- Install zookeeper ----------"
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 0
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
apk add re2c
|
||||
@ -658,26 +699,26 @@ if [[ -z "${EXTENSIONS##*,zookeeper,*}" ]]; then
|
||||
printf "\n" | pecl install zookeeper
|
||||
docker-php-ext-enable zookeeper
|
||||
else
|
||||
echo "---------- PHP Version>= 8.0----------"
|
||||
echo "---------- PHP Version>= 7.0----------"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,phalcon,*}" ]]; then
|
||||
echo "---------- Install phalcon ----------"
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 2
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
printf "\n" | pecl install phalcon
|
||||
docker-php-ext-enable psr
|
||||
docker-php-ext-enable phalcon
|
||||
else
|
||||
echo "---------- PHP Version>= 8.0----------"
|
||||
echo "---------- PHP Version>= 7.2----------"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${EXTENSIONS##*,sdebug,*}" ]]; then
|
||||
echo "---------- Install sdebug ----------"
|
||||
isPhpVersionGreaterOrEqual 8 0
|
||||
isPhpVersionGreaterOrEqual 7 2
|
||||
|
||||
if [[ "$?" = "1" ]]; then
|
||||
curl -SL "https://github.com/swoole/sdebug/archive/sdebug_2_9-beta.tar.gz" -o sdebug.tar.gz \
|
||||
@ -692,7 +733,7 @@ if [[ -z "${EXTENSIONS##*,sdebug,*}" ]]; then
|
||||
) \
|
||||
&& docker-php-ext-enable xdebug
|
||||
else
|
||||
echo "---------- PHP Version>= 8.0----------"
|
||||
echo "---------- PHP Version>= 7.2----------"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
@ -311,7 +311,7 @@ serialize_precision = -1
|
||||
; This directive allows you to disable certain functions for security reasons.
|
||||
; It receives a comma-delimited list of function names.
|
||||
; http://php.net/disable-functions
|
||||
disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,popen,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
|
||||
disable_functions =
|
||||
|
||||
; This directive allows you to disable certain classes for security reasons.
|
||||
; It receives a comma-delimited list of class names.
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -311,7 +311,7 @@ serialize_precision = -1
|
||||
; This directive allows you to disable certain functions for security reasons.
|
||||
; It receives a comma-delimited list of function names.
|
||||
; http://php.net/disable-functions
|
||||
disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,popen,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
|
||||
disable_functions =
|
||||
|
||||
; This directive allows you to disable certain classes for security reasons.
|
||||
; It receives a comma-delimited list of class names.
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -311,7 +311,7 @@ serialize_precision = -1
|
||||
; This directive allows you to disable certain functions for security reasons.
|
||||
; It receives a comma-delimited list of function names.
|
||||
; http://php.net/disable-functions
|
||||
disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,popen,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
|
||||
disable_functions =
|
||||
|
||||
; This directive allows you to disable certain classes for security reasons.
|
||||
; It receives a comma-delimited list of class names.
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -311,7 +311,7 @@ serialize_precision = -1
|
||||
; This directive allows you to disable certain functions for security reasons.
|
||||
; It receives a comma-delimited list of function names.
|
||||
; http://php.net/disable-functions
|
||||
disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,popen,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
|
||||
disable_functions =
|
||||
|
||||
; This directive allows you to disable certain classes for security reasons.
|
||||
; It receives a comma-delimited list of class names.
|
||||
|
Loading…
Reference in New Issue
Block a user