- Fix some minot error.

- Add support for PHP 7.2.
This commit is contained in:
Christoph 2018-01-01 18:46:42 +01:00
parent 069f0f3ea3
commit 1d4799f817
3 changed files with 233 additions and 116 deletions

1
.gitignore vendored
View File

@ -1,4 +1,5 @@
/BAK/* /BAK/*
*.swp
php-* php-*
log_* log_*
!php-5.6-libssl-1.1* !php-5.6-libssl-1.1*

Binary file not shown.

View File

@ -18,7 +18,7 @@ _pwd=`pwd`
_PHP_FPM_SUPPORT=yes _PHP_FPM_SUPPORT=yes
_SYMLINK_PHP=no _SYMLINK_PHP=no
_SYMLINK_PHP_MAJOR_VERSION=no _SYMLINK_PHP_MAIN_VERSION=no
_MEMORY_LIMIT="512M" _MEMORY_LIMIT="512M"
_MAX_EXECUTION_TIME=180 _MAX_EXECUTION_TIME=180
@ -172,6 +172,7 @@ _required_base_packages="$_required_base_packages
exif libexiv2-dev exif libexiv2-dev
netpbm libnetpbm10-dev netpbm libnetpbm10-dev
libmcrypt-dev mcrypt libmcrypt-dev mcrypt
libwebp-dev
libpq-dev postgresql-client libpq-dev postgresql-client
libreadline-dev libncurses-dev libreadline-dev libncurses-dev
libxslt1-dev libpcre3-dev libxslt1-dev libpcre3-dev
@ -264,14 +265,6 @@ fi
## -------------------------------------------------- ## --------------------------------------------------
## - Let make use multiple cores (-j<number of cores +1>)
## -
if [[ "$MAJOR_VERSION" != "5.4" ]]; then
export MAKEFLAGS=-j$(expr `grep "^processor" /proc/cpuinfo | sort -u | wc -l` + 1)
else
unset MAKEFLAGS
fi
## -------------------------------------------------- ## --------------------------------------------------
@ -297,15 +290,25 @@ do
VERSION=$_VERSION VERSION=$_VERSION
fi fi
done done
MAJOR_VERSION=`echo $VERSION | cut -d '.' -f1,2` PHP_MAIN_VERSION=`echo $VERSION | cut -d '.' -f1,2`
MAIN_VERSION=`echo $VERSION | cut -d '.' -f1,1` PHP_MAJOR_VERSION=`echo $VERSION | cut -d '.' -f1`
PHP_MINOR_VERSION=`echo $VERSION | cut -d '.' -f2`
PHP_PATCH_LEVEL=`echo $VERSION | cut -d '.' -f3`
# - A hack, because configure don't work with systemd on version 5.4.x # - A hack, because configure don't work with systemd on version 5.4.x
## - ## -
if [[ "$MAJOR_VERSION" = "5.4" ]]; then if [[ "$PHP_MAIN_VERSION" = "5.4" ]]; then
SYSTEMD_EXISTS=false SYSTEMD_EXISTS=false
fi fi
## - Let make use multiple cores (-j<number of cores +1>)
## -
if [[ "$PHP_MAIN_VERSION" != "5.4" ]]; then
export MAKEFLAGS=-j$(expr `grep "^processor" /proc/cpuinfo | sort -u | wc -l` + 1)
else
unset MAKEFLAGS
fi
echo "" echo ""
echo "" echo ""
echo -e "\033[32m--\033[m" echo -e "\033[32m--\033[m"
@ -483,15 +486,15 @@ echo -e "Define PHP parameters for php.ini file"
echo "" echo ""
## - php.ini: memory_limit ## - php.ini: memory_limit
if [ -f "/usr/local/php-${MAJOR_VERSION}/etc/php.ini" ]; then if [ -f "/usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini" ]; then
__memory_limit=$(grep -e "^\s*memory_limit" /usr/local/php-${MAJOR_VERSION}/etc/php.ini | awk '{print$3}') __memory_limit=$(grep -e "^\s*memory_limit" /usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini | awk '{print$3}')
if [ -n "$__memory_limit" ] ; then if [ -n "$__memory_limit" ] ; then
_MEMORY_LIMIT=$__memory_limit _MEMORY_LIMIT=$__memory_limit
fi fi
fi fi
if [ -f "/usr/local/php-${MAJOR_VERSION}/etc/php.ini" ]; then if [ -f "/usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini" ]; then
__memory_limit=$(grep -e "^\s*memory_limit" /usr/local/php-${MAJOR_VERSION}/etc/php.ini | awk '{print$3}') __memory_limit=$(grep -e "^\s*memory_limit" /usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini | awk '{print$3}')
if [ -n "$__memory_limit" ] ; then if [ -n "$__memory_limit" ] ; then
__MEMORY_LIMIT=$__memory_limit __MEMORY_LIMIT=$__memory_limit
fi fi
@ -522,8 +525,8 @@ while [[ "X$MEMORY_LIMIT" = "X" ]]; do
done done
## - php.ini: max_execution_time ## - php.ini: max_execution_time
if [ -f "/usr/local/php-${MAJOR_VERSION}/etc/php.ini" ]; then if [ -f "/usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini" ]; then
__max_execution_time=$(grep -e "^\s*max_execution_time" /usr/local/php-${MAJOR_VERSION}/etc/php.ini | awk '{print$3}') __max_execution_time=$(grep -e "^\s*max_execution_time" /usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini | awk '{print$3}')
if [ -n "$__max_execution_time" ] ; then if [ -n "$__max_execution_time" ] ; then
_MAX_EXECUTION_TIME=$__max_execution_time _MAX_EXECUTION_TIME=$__max_execution_time
fi fi
@ -543,16 +546,16 @@ while [[ "X$MAX_EXECUTION_TIME" = "X" ]]; do
done done
## - php.ini: upload_max_filesize ## - php.ini: upload_max_filesize
if [ -f "/usr/local/php-${MAJOR_VERSION}/etc/php.ini" ]; then if [ -f "/usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini" ]; then
__upload_max_filesize=$(grep -e "^\s*upload_max_filesize" /usr/local/php-${MAJOR_VERSION}/etc/php.ini | awk '{print$3}') __upload_max_filesize=$(grep -e "^\s*upload_max_filesize" /usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini | awk '{print$3}')
if [ -n "$__upload_max_filesize" ] ; then if [ -n "$__upload_max_filesize" ] ; then
_UPLOAD_MAX_FILESIZE=$__upload_max_filesize _UPLOAD_MAX_FILESIZE=$__upload_max_filesize
fi fi
fi fi
## - php.ini: max_input_time ## - php.ini: max_input_time
if [ -f "/usr/local/php-${MAJOR_VERSION}/etc/php.ini" ]; then if [ -f "/usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini" ]; then
__max_input_time=$(grep -e "^\s*max_input_time" /usr/local/php-${MAJOR_VERSION}/etc/php.ini | awk '{print$3}') __max_input_time=$(grep -e "^\s*max_input_time" /usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini | awk '{print$3}')
if [ -n "$__max_input_time" ] ; then if [ -n "$__max_input_time" ] ; then
_MAX_INPUT_TIME=$__max_input_time _MAX_INPUT_TIME=$__max_input_time
fi fi
@ -572,8 +575,8 @@ while [[ "X$MAX_INPUT_TIME" = "X" ]]; do
done done
## - php.ini: upload_max_filesize ## - php.ini: upload_max_filesize
if [ -f "/usr/local/php-${MAJOR_VERSION}/etc/php.ini" ]; then if [ -f "/usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini" ]; then
__upload_max_filesize=$(grep -e "^\s*upload_max_filesize" /usr/local/php-${MAJOR_VERSION}/etc/php.ini | awk '{print$3}') __upload_max_filesize=$(grep -e "^\s*upload_max_filesize" /usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini | awk '{print$3}')
if [ -n "$__upload_max_filesize" ] ; then if [ -n "$__upload_max_filesize" ] ; then
_UPLOAD_MAX_FILESIZE=$__upload_max_filesize _UPLOAD_MAX_FILESIZE=$__upload_max_filesize
fi fi
@ -604,8 +607,8 @@ while [[ "X$UPLOAD_MAX_FILESIZE" = "X" ]]; do
done done
## - php.ini: post_max_size ## - php.ini: post_max_size
if [ -f "/usr/local/php-${MAJOR_VERSION}/etc/php.ini" ]; then if [ -f "/usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini" ]; then
__post_max_size=$(grep -e "^\s*post_max_size" /usr/local/php-${MAJOR_VERSION}/etc/php.ini | awk '{print$3}') __post_max_size=$(grep -e "^\s*post_max_size" /usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini | awk '{print$3}')
if [ -n "$__post_max_size" ] ; then if [ -n "$__post_max_size" ] ; then
_POST_MAX_SIZE=$__post_max_size _POST_MAX_SIZE=$__post_max_size
fi fi
@ -646,12 +649,12 @@ echo ""
echo "" echo ""
if [ ! -h /usr/local/php ] ; then if [ ! -h /usr/local/php ] ; then
SYMLINK_PHP=true SYMLINK_PHP=true
echo "Symlink /usr/local/php -> /usr/local/php-$MAJOR_VERSION will be set." echo "Symlink /usr/local/php -> /usr/local/php-$PHP_MAIN_VERSION will be set."
else else
OK="" OK=""
while [ "X$OK" = "X" ] while [ "X$OK" = "X" ]
do do
echononl "Set symlink /usr/local/php -> /usr/local/php-$MAJOR_VERSION ? [ $_SYMLINK_PHP ]: " echononl "Set symlink /usr/local/php -> /usr/local/php-$PHP_MAIN_VERSION ? [ $_SYMLINK_PHP ]: "
read OK read OK
__to_lower=`echo $OK | tr '[:upper:]' '[:lower:]' | tr -d ' '` __to_lower=`echo $OK | tr '[:upper:]' '[:lower:]' | tr -d ' '`
if [ "X$OK" = "X" ]; then if [ "X$OK" = "X" ]; then
@ -675,17 +678,17 @@ else
fi fi
echo "" echo ""
if [ ! -h /usr/local/php-${MAJOR_VERSION} ] ; then if [ ! -h /usr/local/php-${PHP_MAIN_VERSION} ] ; then
SYMLINK_PHP_MAJOR_VERSION=true SYMLINK_PHP_MAIN_VERSION=true
echo "Symlink /usr/local/php-$MAJOR_VERSION -> `basename $PREFIX_PHP` will be set." echo "Symlink /usr/local/php-$PHP_MAIN_VERSION -> `basename $PREFIX_PHP` will be set."
else else
OK="" OK=""
while [ "X$OK" = "X" ]; do while [ "X$OK" = "X" ]; do
echononl "Set symlink /usr/local/php-$MAJOR_VERSION -> `basename $PREFIX_PHP` ? [ $_SYMLINK_PHP_MAJOR_VERSION ]: " echononl "Set symlink /usr/local/php-$PHP_MAIN_VERSION -> `basename $PREFIX_PHP` ? [ $_SYMLINK_PHP_MAIN_VERSION ]: "
read OK read OK
__to_lower=`echo $OK | tr '[:upper:]' '[:lower:]' | tr -d ' '` __to_lower=`echo $OK | tr '[:upper:]' '[:lower:]' | tr -d ' '`
if [ "X$OK" = "X" ]; then if [ "X$OK" = "X" ]; then
OK=$_SYMLINK_PHP_MAJOR_VERSION OK=$_SYMLINK_PHP_MAIN_VERSION
break break
fi fi
if [ "$__to_lower" = "yes" -o "$__to_lower" = "no" ]; then if [ "$__to_lower" = "yes" -o "$__to_lower" = "no" ]; then
@ -698,9 +701,9 @@ else
OK= OK=
done done
if [ "$OK" = "yes" ]; then if [ "$OK" = "yes" ]; then
SYMLINK_PHP_MAJOR_VERSION=true SYMLINK_PHP_MAIN_VERSION=true
else else
SYMLINK_PHP_MAJOR_VERSION=false SYMLINK_PHP_MAIN_VERSION=false
fi fi
fi fi
@ -791,20 +794,20 @@ if $WITH_PHP_FPM_SUPPORT && $WITH_MOD_PHP ; then
fi fi
FPM_PID_FILE=/var/run/php-${MAJOR_VERSION}-fpm.pid FPM_PID_FILE=/var/run/php-${PHP_MAIN_VERSION}-fpm.pid
FPM_SYSTEMD_FILE=/etc/systemd/system/php-${MAJOR_VERSION}-fpm.service FPM_SYSTEMD_FILE=/etc/systemd/system/php-${PHP_MAIN_VERSION}-fpm.service
FPM_INIT_SCRIPT=/etc/init.d/php-${MAJOR_VERSION}-fpm FPM_INIT_SCRIPT=/etc/init.d/php-${PHP_MAIN_VERSION}-fpm
FPM_LOG_DIR=/var/log/php-${MAJOR_VERSION}-fpm FPM_LOG_DIR=/var/log/php-${PHP_MAIN_VERSION}-fpm
FPM_ERROR_LOG=${FPM_LOG_DIR}/fpm-${MAJOR_VERSION}-error.log FPM_ERROR_LOG=${FPM_LOG_DIR}/fpm-${PHP_MAIN_VERSION}-error.log
FPM_POOL_CONF_DIR=fpm.d FPM_POOL_CONF_DIR=fpm.d
FPM_DEFAULT_POOL=www-${MAJOR_VERSION} FPM_DEFAULT_POOL=www-${PHP_MAIN_VERSION}
FPM_DEFAULT_POOL_USER=$_PHP_FPM_USER FPM_DEFAULT_POOL_USER=$_PHP_FPM_USER
FPM_DEFAULT_POOL_GROUP=$_PHP_FPM_GROUP FPM_DEFAULT_POOL_GROUP=$_PHP_FPM_GROUP
FPM_DEFAULT_POOL_LISTEN=/tmp/php-${MAJOR_VERSION}-fpm.`echo ${FPM_DEFAULT_POOL} | cut -d'-' -f1`.sock FPM_DEFAULT_POOL_LISTEN=/tmp/php-${PHP_MAIN_VERSION}-fpm.`echo ${FPM_DEFAULT_POOL} | cut -d'-' -f1`.sock
FPM_DEFAULT_POOL_LISTEN_OWNER=$_PHP_FPM_USER FPM_DEFAULT_POOL_LISTEN_OWNER=$_PHP_FPM_USER
FPM_DEFAULT_POOL_LISTEN_GROUP=$HTTPD_GROUP FPM_DEFAULT_POOL_LISTEN_GROUP=$HTTPD_GROUP
FPM_DEFAULT_POOL_LISTEN_MODE=0660 FPM_DEFAULT_POOL_LISTEN_MODE=0660
@ -817,8 +820,8 @@ FPM_DEFAULT_POOL_MAX_SPARE=10
FPM_DEFAULT_POOL_MAX_REQUESTS=500 FPM_DEFAULT_POOL_MAX_REQUESTS=500
FPM_DEFAULT_POOL_STATUS_PATH="/status-${MAJOR_VERSION}" FPM_DEFAULT_POOL_STATUS_PATH="/status-${PHP_MAIN_VERSION}"
FPM_DEFAULT_POOL_PING_PATH="/ping-${MAJOR_VERSION}" FPM_DEFAULT_POOL_PING_PATH="/ping-${PHP_MAIN_VERSION}"
FPM_DEFAULT_POOL_PING_RESPONSE="pong" FPM_DEFAULT_POOL_PING_RESPONSE="pong"
FPM_DEFAULT_POOL_ACCESS_LOG="${FPM_LOG_DIR}/${FPM_DEFAULT_POOL}-access.log" FPM_DEFAULT_POOL_ACCESS_LOG="${FPM_LOG_DIR}/${FPM_DEFAULT_POOL}-access.log"
@ -838,7 +841,10 @@ echo ""
echo -e "\033[21G\033[32mStart PHP Installation with the following Parameters \033[m" echo -e "\033[21G\033[32mStart PHP Installation with the following Parameters \033[m"
echo "" echo ""
echo "PHP version...................: $VERSION" echo "PHP version...................: $VERSION"
echo "PHP major version.............: $MAJOR_VERSION" echo "PHP main version..............: $PHP_MAIN_VERSION"
echo "PHP major version.............: $PHP_MAJOR_VERSION"
echo "PHP minor version.............: $PHP_MINOR_VERSION"
echo "PHP patch level...............: $PHP_PATCH_LEVEL"
echo "" echo ""
echo "PHP configuration (php.ini)" echo "PHP configuration (php.ini)"
echo " memory_limit...............: $MEMORY_LIMIT" echo " memory_limit...............: $MEMORY_LIMIT"
@ -864,13 +870,13 @@ if $WITH_MOD_PHP ; then
echo " Apache Version.............: $APACHE_VERSION" echo " Apache Version.............: $APACHE_VERSION"
fi fi
echo "" echo ""
if $SYMLINK_PHP_MAJOR_VERSION -o $SYMLINK_PHP ; then if $SYMLINK_PHP_MAIN_VERSION -o $SYMLINK_PHP ; then
echo "Set symlniks:" echo "Set symlniks:"
if $SYMLINK_PHP ; then if $SYMLINK_PHP ; then
echo " /usr/local/php -> /usr/local/php-$MAJOR_VERSION" echo " /usr/local/php -> /usr/local/php-$PHP_MAIN_VERSION"
fi fi
if $SYMLINK_PHP_MAJOR_VERSION ; then if $SYMLINK_PHP_MAIN_VERSION ; then
echo " /usr/local/php-$MAJOR_VERSION -> `basename $PREFIX_PHP`" echo " /usr/local/php-$PHP_MAIN_VERSION -> `basename $PREFIX_PHP`"
fi fi
fi fi
echo "" echo ""
@ -1068,7 +1074,7 @@ else
fi fi
echononl "\tApply patch to compile against OpenSSL 1.1.." echononl "\tApply patch to compile against OpenSSL 1.1.."
if [[ "$os_dist" = "debian" ]] && [[ $os_version -gt 8 ]] && [[ $MAIN_VERSION -lt 7 ]]; then if [[ "$os_dist" = "debian" ]] && [[ $os_version -gt 8 ]] && [[ $PHP_MAJOR_VERSION -lt 7 ]]; then
if [[ -f ${_srcdir}/PHP-5.6.31-OpenSSL-1.1.0-compatibility-20170801.patch ]] ; then if [[ -f ${_srcdir}/PHP-5.6.31-OpenSSL-1.1.0-compatibility-20170801.patch ]] ; then
patch -d $_builddir -p1 < ${_srcdir}/PHP-5.6.31-OpenSSL-1.1.0-compatibility-20170801.patch > $tmp_err_msg 2>&1 patch -d $_builddir -p1 < ${_srcdir}/PHP-5.6.31-OpenSSL-1.1.0-compatibility-20170801.patch > $tmp_err_msg 2>&1
if [[ $? -eq 0 ]]; then if [[ $? -eq 0 ]]; then
@ -1129,9 +1135,7 @@ config_params="
--with-png-dir \ --with-png-dir \
--with-curl \ --with-curl \
--enable-dba \ --enable-dba \
--with-mcrypt \
--with-xpm-dir \ --with-xpm-dir \
--with-vpx-dir \
--with-freetype-dir \ --with-freetype-dir \
--enable-ftp \ --enable-ftp \
--with-gmp \ --with-gmp \
@ -1170,9 +1174,23 @@ fi
## - since version 7.0: unrecognized options --with-t1lib ## - since version 7.0: unrecognized options --with-t1lib
## - ## -
if [[ $MAIN_VERSION -lt 7 ]] ; then ## - '--with-webp-dir=DIR' has to be added, i.e. support for libvpx
## - '--with-vpx-dir') has been removed in favor of libwebp.
## -
if [[ $PHP_MAJOR_VERSION -lt 7 ]] ; then
config_params="$config_params \ config_params="$config_params \
--with-vpx-dir" --with-vpx-dir"
else
config_params="$config_params \
--with-webp-dir"
fi
## - since version 7.2: MCrypt is moved to PECL
## -
if ([[ "$PHP_MAJOR_VERSION" -eq 7 ]] && [[ "$PHP_MINOR_VERSION" -lt 2 ]]) \
|| [[ "$PHP_MAJOR_VERSION" -lt 7 ]] ; then
config_params="$config_params \
--with-mcrypt"
fi fi
@ -1181,7 +1199,7 @@ if [ "$MYSQL_INSTALL_DIR" != "not_installed" ]; then
if [ -f "/etc/mysql/my.cnf" ]; then if [ -f "/etc/mysql/my.cnf" ]; then
_mysql_socket="`cat /etc/mysql/my.cnf | grep -E \"^\s*socket\" | head -1 | awk '{print$3}'`" _mysql_socket="`cat /etc/mysql/my.cnf | grep -E \"^\s*socket\" | head -1 | awk '{print$3}'`"
if [ -S "$_mysql_socket" ]; then if [ -S "$_mysql_socket" ]; then
if [[ "$MAJOR_VERSION" = "5.4" ]]; then if [[ "$PHP_MAIN_VERSION" = "5.4" ]]; then
config_params="$config_params \ config_params="$config_params \
--with-mysql \ --with-mysql \
--with-pdo-mysql \ --with-pdo-mysql \
@ -1193,7 +1211,7 @@ if [ "$MYSQL_INSTALL_DIR" != "not_installed" ]; then
--with-mysql-sock" --with-mysql-sock"
fi fi
else else
if [[ "$MAJOR_VERSION" = "5.4" ]]; then if [[ "$PHP_MAIN_VERSION" = "5.4" ]]; then
config_params="$config_params \ config_params="$config_params \
--with-mysql \ --with-mysql \
--with-pdo-mysql " --with-pdo-mysql "
@ -1206,12 +1224,12 @@ if [ "$MYSQL_INSTALL_DIR" != "not_installed" ]; then
else else
## - since version 7.0: unrecognized options --with-mysql ## - since version 7.0: unrecognized options --with-mysql
## - ## -
if [[ $MAIN_VERSION -lt 7 ]] ; then if [[ $PHP_MAJOR_VERSION -lt 7 ]] ; then
config_params="$config_params \ config_params="$config_params \
--with-mysql" --with-mysql"
fi fi
if [[ "$MAJOR_VERSION" = "5.4" ]]; then if [[ "$PHP_MAIN_VERSION" = "5.4" ]]; then
config_params="$config_params \ config_params="$config_params \
--with-pdo-mysql " --with-pdo-mysql "
else else
@ -1223,12 +1241,12 @@ if [ "$MYSQL_INSTALL_DIR" != "not_installed" ]; then
else else
## - since version 7.0: unrecognized options --with-mysql ## - since version 7.0: unrecognized options --with-mysql
## - ## -
if [[ $MAIN_VERSION -lt 7 ]] ; then if [[ $PHP_MAJOR_VERSION -lt 7 ]] ; then
config_params="$config_params \ config_params="$config_params \
--with-mysql=$MYSQL_INSTALL_DIR" --with-mysql=$MYSQL_INSTALL_DIR"
fi fi
if [[ "$MAJOR_VERSION" = "5.4" ]]; then if [[ "$PHP_MAIN_VERSION" = "5.4" ]]; then
config_params="$config_params \ config_params="$config_params \
--with-pdo-mysql=$MYSQL_INSTALL_DIR \ --with-pdo-mysql=$MYSQL_INSTALL_DIR \
--with-mysql-sock" --with-mysql-sock"
@ -1303,7 +1321,7 @@ echononl "\tGoing to install.."
make install > ${_logdir}/php-make_install.log 2>&1 make install > ${_logdir}/php-make_install.log 2>&1
if [[ $? -ne 0 ]]; then if [[ $? -ne 0 ]]; then
echo_failed echo_failed
if [[ "$MAJOR_VERSION" = "5.4" ]]; then if [[ "$PHP_MAIN_VERSION" = "5.4" ]]; then
echononl "\tRetry Installing.." echononl "\tRetry Installing.."
make install > ${_logdir}/php-make_install.log 2>&1 make install > ${_logdir}/php-make_install.log 2>&1
if [[ $? -eq 0 ]]; then if [[ $? -eq 0 ]]; then
@ -1348,11 +1366,11 @@ echo -e "\t--- post installation tasks"
echo -e "\t---" echo -e "\t---"
if $SYMLINK_PHP ; then if $SYMLINK_PHP ; then
echononl "\tSet symlink /usr/local/php -> /usr/local/php-$MAJOR_VERSION" echononl "\tSet symlink /usr/local/php -> /usr/local/php-$PHP_MAIN_VERSION"
if [ -L /usr/local/php ];then if [ -L /usr/local/php ];then
rm -f /usr/local/php rm -f /usr/local/php
fi fi
ln -s php-$MAJOR_VERSION /usr/local/php ln -s php-$PHP_MAIN_VERSION /usr/local/php
if [ "$?" = "0" ]; then if [ "$?" = "0" ]; then
echo_ok echo_ok
else else
@ -1360,12 +1378,12 @@ if $SYMLINK_PHP ; then
fi fi
fi fi
if $SYMLINK_PHP_MAJOR_VERSION ; then if $SYMLINK_PHP_MAIN_VERSION ; then
echononl "\tSet symlink /usr/local/php-$MAJOR_VERSION -> `basename $PREFIX_PHP`" echononl "\tSet symlink /usr/local/php-$PHP_MAIN_VERSION -> `basename $PREFIX_PHP`"
if [ -h /usr/local/php-${MAJOR_VERSION} ] ; then if [ -h /usr/local/php-${PHP_MAIN_VERSION} ] ; then
rm -f /usr/local/php-${MAJOR_VERSION} rm -f /usr/local/php-${PHP_MAIN_VERSION}
fi fi
ln -s `basename $PREFIX_PHP` /usr/local/php-$MAJOR_VERSION ln -s `basename $PREFIX_PHP` /usr/local/php-$PHP_MAIN_VERSION
if [ "$?" = "0" ]; then if [ "$?" = "0" ]; then
echo_ok echo_ok
else else
@ -1431,28 +1449,28 @@ if $WITH_PHP_FPM_SUPPORT ; then
if $ACTIVATE_PHP_FPM_INIT_SCRIPT ; then if $ACTIVATE_PHP_FPM_INIT_SCRIPT ; then
if systemctl is-enabled php-${MAJOR_VERSION}-fpm.service > /dev/null 2>&1 ; then if systemctl is-enabled php-${PHP_MAIN_VERSION}-fpm.service > /dev/null 2>&1 ; then
echononl "\tStop service php-${MAJOR_VERSION}-fpm" echononl "\tStop service php-${PHP_MAIN_VERSION}-fpm"
systemctl stop php-${MAJOR_VERSION}-fpm.service > /dev/null 2>&1 systemctl stop php-${PHP_MAIN_VERSION}-fpm.service > /dev/null 2>&1
if [ "$?" = "0" ]; then if [ "$?" = "0" ]; then
echo_ok echo_ok
else else
echo_failed echo_failed
error "Stopping Service \"php-${MAJOR_VERSION}-fpm\" failed!" error "Stopping Service \"php-${PHP_MAIN_VERSION}-fpm\" failed!"
fi fi
echononl "\tDisable service php-${MAJOR_VERSION}-fpm" echononl "\tDisable service php-${PHP_MAIN_VERSION}-fpm"
systemctl disable php-${MAJOR_VERSION}-fpm.service > /dev/null 2>&1 systemctl disable php-${PHP_MAIN_VERSION}-fpm.service > /dev/null 2>&1
if [ "$?" = "0" ]; then if [ "$?" = "0" ]; then
echo_ok echo_ok
else else
echo_failed echo_failed
error "Disabling Service \"php-${MAJOR_VERSION}-fpm\" failed!" error "Disabling Service \"php-${PHP_MAIN_VERSION}-fpm\" failed!"
fi fi
fi # if systemctl is-enabled php-${MAJOR_VERSION}-fpm.service fi # if systemctl is-enabled php-${PHP_MAIN_VERSION}-fpm.service
echononl "\tRemove existing service file \"php-${MAJOR_VERSION}-fpm.service\"" echononl "\tRemove existing service file \"php-${PHP_MAIN_VERSION}-fpm.service\""
if [[ -f "$FPM_SYSTEMD_FILE" ]] ; then if [[ -f "$FPM_SYSTEMD_FILE" ]] ; then
rm "$FPM_SYSTEMD_FILE" > /dev/null 2<&1 rm "$FPM_SYSTEMD_FILE" > /dev/null 2<&1
if [ "$?" = "0" ]; then if [ "$?" = "0" ]; then
@ -1475,9 +1493,9 @@ if $WITH_PHP_FPM_SUPPORT ; then
fi fi
_failed=false _failed=false
echononl "\tAdjust php-${MAJOR_VERSION}-fpm.service (PrivateTmp=false)" echononl "\tAdjust php-${PHP_MAIN_VERSION}-fpm.service (PrivateTmp=false)"
sed -i -r -e "s#(Description.*)#\1 v${MAJOR_VERSION}#" "$FPM_SYSTEMD_FILE" > /dev/null 2<&1 sed -i -r -e "s#(Description.*)#\1 v${PHP_MAIN_VERSION}#" "$FPM_SYSTEMD_FILE" > /dev/null 2<&1
if [[ $? -ne 0 ]]; then if [[ $? -ne 0 ]]; then
_failed=true _failed=true
fi fi
@ -1512,7 +1530,7 @@ if $WITH_PHP_FPM_SUPPORT ; then
if $_failed ; then if $_failed ; then
echo_failed echo_failed
error "Some errors adjusting php-${MAJOR_VERSION}-fpm.service occured!" error "Some errors adjusting php-${PHP_MAIN_VERSION}-fpm.service occured!"
else else
echo_ok echo_ok
fi fi
@ -1527,8 +1545,8 @@ if $WITH_PHP_FPM_SUPPORT ; then
error "Reloading systemd.. failed!" error "Reloading systemd.. failed!"
fi fi
echononl "\tEnable Service \"php-${MAJOR_VERSION}-fpm.service\".." echononl "\tEnable Service \"php-${PHP_MAIN_VERSION}-fpm.service\".."
systemctl enable "php-${MAJOR_VERSION}-fpm.service" > /dev/null 2>&1 systemctl enable "php-${PHP_MAIN_VERSION}-fpm.service" > /dev/null 2>&1
if [ "$?" = "0" ]; then if [ "$?" = "0" ]; then
echo_ok echo_ok
else else
@ -1579,7 +1597,7 @@ if $WITH_PHP_FPM_SUPPORT ; then
if $ACTIVATE_PHP_FPM_INIT_SCRIPT ; then if $ACTIVATE_PHP_FPM_INIT_SCRIPT ; then
PID=`ps aux | grep "php-fpm: " | grep "master" | grep "${MAJOR_VERSION}" | grep -v grep | awk '{print$2}'` PID=`ps aux | grep "php-fpm: " | grep "master" | grep "${PHP_MAIN_VERSION}" | grep -v grep | awk '{print$2}'`
if [[ -n "$PID" ]] ; then if [[ -n "$PID" ]] ; then
if [[ -x "$FPM_INIT_SCRIPT" ]]; then if [[ -x "$FPM_INIT_SCRIPT" ]]; then
@ -1596,7 +1614,7 @@ if $WITH_PHP_FPM_SUPPORT ; then
sleep 5 sleep 5
declare -i i=0 declare -i i=0
PIDS=`ps aux | grep "php-fpm: " | grep -E "(master|pool)" | grep "${MAJOR_VERSION}" | grep -v grep | awk '{print$2}'` PIDS=`ps aux | grep "php-fpm: " | grep -E "(master|pool)" | grep "${PHP_MAIN_VERSION}" | grep -v grep | awk '{print$2}'`
while [ "X$PIDS" != "X" ]; do while [ "X$PIDS" != "X" ]; do
if [[ $i -eq 0 ]]; then if [[ $i -eq 0 ]]; then
@ -1613,7 +1631,7 @@ if $WITH_PHP_FPM_SUPPORT ; then
sleep 2 sleep 2
PIDS=`ps aux | grep "php-fpm: " | grep -E "(master|pool)" | grep "${MAJOR_VERSION}" | grep -v grep | awk '{print$2}'` PIDS=`ps aux | grep "php-fpm: " | grep -E "(master|pool)" | grep "${PHP_MAIN_VERSION}" | grep -v grep | awk '{print$2}'`
i+=1 i+=1
done done
@ -1660,7 +1678,7 @@ if $WITH_PHP_FPM_SUPPORT ; then
fi fi
fi fi
echononl "\tMake php-${MAJOR_VERSION}-fpm start at boottime" echononl "\tMake php-${PHP_MAIN_VERSION}-fpm start at boottime"
if ! grep -e "$FPM_INIT_SCRIPT" /etc/rc.local > /dev/null 2>&1 ; then if ! grep -e "$FPM_INIT_SCRIPT" /etc/rc.local > /dev/null 2>&1 ; then
sed -i -r -e "s#^([[:space:]]*exit\ +.*)#sleep 2\n$FPM_INIT_SCRIPT restart > /dev/null || /bin/true\n\n\1#" /etc/rc.local sed -i -r -e "s#^([[:space:]]*exit\ +.*)#sleep 2\n$FPM_INIT_SCRIPT restart > /dev/null || /bin/true\n\n\1#" /etc/rc.local
if [ "$?" = "0" ]; then if [ "$?" = "0" ]; then
@ -1675,7 +1693,7 @@ if $WITH_PHP_FPM_SUPPORT ; then
_failed=false _failed=false
echononl "\tAdjust ${PREFIX_PHP}/sbin/php-${PHP_VERSION_STRING}-fpm" echononl "\tAdjust ${PREFIX_PHP}/sbin/php-${PHP_VERSION_STRING}-fpm"
sed -i -r -e "s&^(([ ^t]*php_fpm_PID=).*)$&## \1\n\2${FPM_PID_FILE}&g" ${PREFIX_PHP}/sbin/php-${PHP_VERSION_STRING}-fpm || _failed=true sed -i -r -e "s&^(([ ^t]*php_fpm_PID=).*)$&## \1\n\2${FPM_PID_FILE}&g" ${PREFIX_PHP}/sbin/php-${PHP_VERSION_STRING}-fpm || _failed=true
sed -i -r -e "s&^(#\ .+)php-fpm&\1php-${MAJOR_VERSION}-fpm&" ${PREFIX_PHP}/sbin/php-${PHP_VERSION_STRING}-fpm || _failed=true sed -i -r -e "s&^(#\ .+)php-fpm&\1php-${PHP_MAIN_VERSION}-fpm&" ${PREFIX_PHP}/sbin/php-${PHP_VERSION_STRING}-fpm || _failed=true
if ! $_failed ; then if ! $_failed ; then
echo_ok echo_ok
else else
@ -2058,8 +2076,8 @@ EOF
fi fi
echononl "\tConfigure logrotation for \"${FPM_LOG_DIR}\"" echononl "\tConfigure logrotation for \"${FPM_LOG_DIR}\""
if [ ! -f "/etc/logrotate.d/php-${MAJOR_VERSION}-fpm" ]; then if [ ! -f "/etc/logrotate.d/php-${PHP_MAIN_VERSION}-fpm" ]; then
cat <<EOF > /etc/logrotate.d/php-${MAJOR_VERSION}-fpm cat <<EOF > /etc/logrotate.d/php-${PHP_MAIN_VERSION}-fpm
$FPM_LOG_DIR/*log { $FPM_LOG_DIR/*log {
daily daily
rotate 7 rotate 7
@ -2103,6 +2121,22 @@ echo -e "\t--- Install PHP extensions"
echo -e "\t---" echo -e "\t---"
echo "" echo ""
## -----
## - Update Channel 'pecl.php.net'
## -----
echononl "\tUpdate Channel 'pecl.php.net' .."
${PREFIX_PHP}/bin/pecl channel-update pecl.php.net > /dev/null 2>&1
if [[ $? -eq 0 ]] ; then
echo_ok
else
echo_failed
fi
## -----
## - END: Update Channel 'pecl.php.net'
## -----
## ----- ## -----
## - Install geoip ## - Install geoip
@ -2136,8 +2170,9 @@ fi
## ----- ## -----
echononl "\tInstall uploadprogress via pecl.." echononl "\tInstall uploadprogress via pecl.."
printf "\n" | ${PREFIX_PHP}/bin/pecl install uploadprogress > /dev/null 2>&1 if [[ $PHP_MAJOR_VERSION -lt 7 ]] ; then
if [ "$?" = "0" ]; then printf "\n" | ${PREFIX_PHP}/bin/pecl install uploadprogress > /dev/null 2>&1
if [ "$?" = "0" ]; then
echo_ok echo_ok
echononl "\tphp.ini: extension=uploadprogress .." echononl "\tphp.ini: extension=uploadprogress .."
@ -2155,8 +2190,12 @@ if [ "$?" = "0" ]; then
warn "Maybe extension \"uploadprogress.so\" is not supported!" warn "Maybe extension \"uploadprogress.so\" is not supported!"
fi fi
else else
echo_failed echo_failed
fi
else
echo_skipped
warn "Pecl extension 'uploadprogress' is only available for PHP versions < 7 - version 7 also excluded."
fi fi
## ----- ## -----
@ -2221,7 +2260,7 @@ fi
## - Install uri_template - !! only versions <= 5.6 ## - Install uri_template - !! only versions <= 5.6
## ----- ## -----
echononl "\tInstall uri_template via pecl.." echononl "\tInstall uri_template via pecl.."
if [[ $MAIN_VERSION -lt 7 ]] ; then if [[ $PHP_MAJOR_VERSION -lt 7 ]] ; then
printf "\n" | ${PREFIX_PHP}/bin/pecl install uri_template > /dev/null 2>&1 printf "\n" | ${PREFIX_PHP}/bin/pecl install uri_template > /dev/null 2>&1
if [ "$?" = "0" ]; then if [ "$?" = "0" ]; then
echo_ok echo_ok
@ -2251,7 +2290,7 @@ fi
## ----- ## -----
echononl "\tInstall APCu via pecl.." echononl "\tInstall APCu via pecl.."
if [[ $MAIN_VERSION -lt 7 ]] ; then if [[ $PHP_MAJOR_VERSION -lt 7 ]] ; then
printf "\n" | ${PREFIX_PHP}/bin/pecl install apcu-4.0.11 > /dev/null 2>&1 printf "\n" | ${PREFIX_PHP}/bin/pecl install apcu-4.0.11 > /dev/null 2>&1
if [ "$?" = "0" ]; then if [ "$?" = "0" ]; then
echo_ok echo_ok
@ -2298,14 +2337,14 @@ fi
## ----- ## -----
echononl "\tInstall memcached via pecl.." echononl "\tInstall memcached via pecl.."
if [[ $MAIN_VERSION -lt 7 ]] ; then if [[ $PHP_MAJOR_VERSION -lt 7 ]] ; then
printf "no --disable-memcached-sasl\n" | ${PREFIX_PHP}/bin/pecl install memcached-2.2.0 > /dev/null 2>&1 printf "no --disable-memcached-sasl\n" | ${PREFIX_PHP}/bin/pecl install memcached-2.2.0 > /dev/null 2>&1
else else
printf "\n" | ${PREFIX_PHP}/bin/pecl install memcached > /dev/null 2>&1 printf "\n" | ${PREFIX_PHP}/bin/pecl install memcached > /dev/null 2>&1
fi fi
if [ "$?" = "0" ]; then if [ "$?" = "0" ]; then
echo_ok echo_ok
echononl "\tphp.ini: extension=memcsched .." echononl "\tphp.ini: extension=memcached.so .."
_extension="memcached.so" _extension="memcached.so"
perl -i -n -p -e "s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#" $PHP_INI_FILE perl -i -n -p -e "s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#" $PHP_INI_FILE
if [ "$?" = "0" ]; then if [ "$?" = "0" ]; then
@ -2466,6 +2505,55 @@ fi
## ----- ## -----
## -----
## - Install mcrypt
## -----
## - since php version 7.2: mcrypt was moved to PECL
## -
if ([[ "$PHP_MAJOR_VERSION" -eq 7 ]] && [[ "$PHP_MINOR_VERSION" -ge 2 ]]) \
|| [[ "$PHP_MAJOR_VERSION" -gt 7 ]] ; then
echononl "\tInstall mcrypt via pecl.."
_success=true
printf "\n" | ${PREFIX_PHP}/bin/pecl install mcrypt > /dev/null 2>&1
if [[ $? -eq 0 ]]; then
echo_ok
else
echo_failed
echononl "\tTry to install mcrypt verision 1.0.1"
printf "\n" | ${PREFIX_PHP}/bin/pecl install mcrypt-1.0.1 > /dev/null 2>&1
if [[ $? -eq 0 ]]; then
echo_ok
else
echo_failed
_success=false
fi
fi
echononl "\tphp.ini: extension=mcrypt.so .."
if $_success ; then
_extension="mcrypt.so"
perl -i -n -p -e "s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#" $PHP_INI_FILE
if [[ $? -eq 0 ]] ; then
echo_ok
else
echo_failed
fi
else
echo_skipped
fi
fi
## -----
## - END: Install mcrypt
## -----
## ----- ## -----
## - Install pcntl ## - Install pcntl
## ----- ## -----
@ -2507,7 +2595,7 @@ fi
## ----- ## -----
echononl "\tInstall xdebug via pecl.." echononl "\tInstall xdebug via pecl.."
if [[ "$MAJOR_VERSION" = "5.4" ]] ; then if [[ "$PHP_MAIN_VERSION" = "5.4" ]] ; then
printf "\n" | ${PREFIX_PHP}/bin/pecl install xdebug-2.2.7 > /dev/null 2>&1 printf "\n" | ${PREFIX_PHP}/bin/pecl install xdebug-2.2.7 > /dev/null 2>&1
else else
printf "\n" | ${PREFIX_PHP}/bin/pecl install xdebug > /dev/null 2>&1 printf "\n" | ${PREFIX_PHP}/bin/pecl install xdebug > /dev/null 2>&1
@ -2516,11 +2604,19 @@ if [ "$?" = "0" ]; then
echo_ok echo_ok
else else
echo_failed echo_failed
echononl "\tInstall (beta) xdebug-2.6.0beta1 via pecl.."
${PREFIX_PHP}/bin/pecl install xdebug-2.6.0beta1 > /dev/null 2>&1
if [ "$?" = "0" ]; then
echo_ok
else
echo_failed
fi
fi fi
#if $WITHOUT_APACHE_MOD_PHP ; then #if $WITHOUT_APACHE_MOD_PHP ; then
# zend_extension_xdebug=`find /usr/local/php-${MAJOR_VERSION}/lib/php/extensions -name xdebug.so -print` # zend_extension_xdebug=`find /usr/local/php-${PHP_MAIN_VERSION}/lib/php/extensions -name xdebug.so -print`
#else #else
# #zend_extension_xdebug=`locate xdebug.so | grep ${PREFIX_PHP}/lib/php/extensions` # #zend_extension_xdebug=`locate xdebug.so | grep ${PREFIX_PHP}/lib/php/extensions`
zend_extension_xdebug=`find ${PREFIX_PHP}/lib/php/extensions -name xdebug.so -print` zend_extension_xdebug=`find ${PREFIX_PHP}/lib/php/extensions -name xdebug.so -print`
@ -2596,7 +2692,7 @@ else
fi fi
echononl "\tInstall Net_Socket via pear.." echononl "\tInstall Net_Socket via pear.."
if [[ "$MAJOR_VERSION" = "5.4" ]]; then if [[ "$PHP_MAIN_VERSION" = "5.4" ]]; then
${PREFIX_PHP}/bin/pear install Net_Socket-1.0.14 > /dev/null 2>&1 ${PREFIX_PHP}/bin/pear install Net_Socket-1.0.14 > /dev/null 2>&1
else else
${PREFIX_PHP}/bin/pear install Net_Socket > /dev/null 2>&1 ${PREFIX_PHP}/bin/pear install Net_Socket > /dev/null 2>&1
@ -2608,7 +2704,7 @@ else
fi fi
echononl "\tInstall Net_SMTP via pear.." echononl "\tInstall Net_SMTP via pear.."
if [[ "$MAJOR_VERSION" = "5.4" ]]; then if [[ "$PHP_MAIN_VERSION" = "5.4" ]]; then
${PREFIX_PHP}/bin/pear install Net_SMTP-1.7.2 > /dev/null 2>&1 ${PREFIX_PHP}/bin/pear install Net_SMTP-1.7.2 > /dev/null 2>&1
else else
${PREFIX_PHP}/bin/pear install Net_SMTP > /dev/null 2>&1 ${PREFIX_PHP}/bin/pear install Net_SMTP > /dev/null 2>&1
@ -2620,7 +2716,7 @@ else
fi fi
echononl "\tInstall Net_Sieve via pear.." echononl "\tInstall Net_Sieve via pear.."
if [[ "$MAJOR_VERSION" = "5.4" ]]; then if [[ "$PHP_MAIN_VERSION" = "5.4" ]]; then
${PREFIX_PHP}/bin/pear install Net_Sieve-1.4.1 > /dev/null 2>&1 ${PREFIX_PHP}/bin/pear install Net_Sieve-1.4.1 > /dev/null 2>&1
else else
${PREFIX_PHP}/bin/pear install Net_Sieve > /dev/null 2>&1 ${PREFIX_PHP}/bin/pear install Net_Sieve > /dev/null 2>&1
@ -2655,7 +2751,7 @@ else
fi fi
echononl "\tInstall Auth_SASL via pear.." echononl "\tInstall Auth_SASL via pear.."
if [[ "$MAJOR_VERSION" = "5.4" ]]; then if [[ "$PHP_MAIN_VERSION" = "5.4" ]]; then
${PREFIX_PHP}/bin/pear install Auth_SASL-1.0.6 > /dev/null 2>&1 ${PREFIX_PHP}/bin/pear install Auth_SASL-1.0.6 > /dev/null 2>&1
else else
${PREFIX_PHP}/bin/pear install Auth_SASL > /dev/null 2>&1 ${PREFIX_PHP}/bin/pear install Auth_SASL > /dev/null 2>&1
@ -2840,6 +2936,16 @@ if [ "$_retval" = "0" ]; then
else else
echo_failed echo_failed
fi fi
if [[ ! -d "$(dirname "$_val")" ]] ; then
echononl "\tCretae directory '$(dirname "$_val")'.."
mkdir "$(dirname "$_val")" > /dev/null 2>&1
if [[ $? -eq 0 ]] ; then
echo_ok
else
echo_failed
fi
fi
touch $_val touch $_val
chown ${HTTPD_USER}:$HTTPD_GROUP $_val chown ${HTTPD_USER}:$HTTPD_GROUP $_val
@ -2984,6 +3090,16 @@ if [[ -n "$zend_extension_opcache" ]];then
else else
echo_failed echo_failed
fi fi
if [[ ! -d "$(dirname "$_val")" ]] ; then
echononl "\tCretae directory '$(dirname "$_val")'.."
mkdir "$(dirname "$_val")" > /dev/null 2>&1
if [[ $? -eq 0 ]] ; then
echo_ok
else
echo_failed
fi
fi
touch $_val touch $_val
chown ${HTTPD_USER}:$HTTPD_GROUP $_val chown ${HTTPD_USER}:$HTTPD_GROUP $_val
@ -3168,10 +3284,10 @@ fi
## ----- ## -----
echo "" echo ""
echononl "\tStarting PHP-FPM Engine (v${MAJOR_VERSION}).." echononl "\tStarting PHP-FPM Engine (v${PHP_MAIN_VERSION}).."
if $ACTIVATE_PHP_FPM_INIT_SCRIPT ; then if $ACTIVATE_PHP_FPM_INIT_SCRIPT ; then
if $SYSTEMD_EXISTS ; then if $SYSTEMD_EXISTS ; then
systemctl start php-${MAJOR_VERSION}-fpm > /dev/null 2>&1 systemctl start php-${PHP_MAIN_VERSION}-fpm > /dev/null 2>&1
if [[ "$?" = "0" ]]; then if [[ "$?" = "0" ]]; then
echo_ok echo_ok
else else