diff --git a/.gitignore b/.gitignore index 7e70658..7dd497e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ /BAK/* +*.swp php-* log_* !php-5.6-libssl-1.1* diff --git a/.mod_php_install.sh.swp b/.mod_php_install.sh.swp deleted file mode 100644 index 9de26b0..0000000 Binary files a/.mod_php_install.sh.swp and /dev/null differ diff --git a/mod_php_install.sh b/mod_php_install.sh index 90be44a..8a96f62 100755 --- a/mod_php_install.sh +++ b/mod_php_install.sh @@ -18,7 +18,7 @@ _pwd=`pwd` _PHP_FPM_SUPPORT=yes _SYMLINK_PHP=no -_SYMLINK_PHP_MAJOR_VERSION=no +_SYMLINK_PHP_MAIN_VERSION=no _MEMORY_LIMIT="512M" _MAX_EXECUTION_TIME=180 @@ -172,6 +172,7 @@ _required_base_packages="$_required_base_packages exif libexiv2-dev netpbm libnetpbm10-dev libmcrypt-dev mcrypt + libwebp-dev libpq-dev postgresql-client libreadline-dev libncurses-dev libxslt1-dev libpcre3-dev @@ -264,14 +265,6 @@ fi ## -------------------------------------------------- -## - Let make use multiple cores (-j) -## - -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 fi done -MAJOR_VERSION=`echo $VERSION | cut -d '.' -f1,2` -MAIN_VERSION=`echo $VERSION | cut -d '.' -f1,1` +PHP_MAIN_VERSION=`echo $VERSION | cut -d '.' -f1,2` +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 ## - -if [[ "$MAJOR_VERSION" = "5.4" ]]; then +if [[ "$PHP_MAIN_VERSION" = "5.4" ]]; then SYSTEMD_EXISTS=false fi +## - Let make use multiple cores (-j) +## - +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 -e "\033[32m--\033[m" @@ -483,15 +486,15 @@ echo -e "Define PHP parameters for php.ini file" echo "" ## - php.ini: memory_limit -if [ -f "/usr/local/php-${MAJOR_VERSION}/etc/php.ini" ]; then - __memory_limit=$(grep -e "^\s*memory_limit" /usr/local/php-${MAJOR_VERSION}/etc/php.ini | awk '{print$3}') +if [ -f "/usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini" ]; then + __memory_limit=$(grep -e "^\s*memory_limit" /usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini | awk '{print$3}') if [ -n "$__memory_limit" ] ; then _MEMORY_LIMIT=$__memory_limit fi fi -if [ -f "/usr/local/php-${MAJOR_VERSION}/etc/php.ini" ]; then - __memory_limit=$(grep -e "^\s*memory_limit" /usr/local/php-${MAJOR_VERSION}/etc/php.ini | awk '{print$3}') +if [ -f "/usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini" ]; then + __memory_limit=$(grep -e "^\s*memory_limit" /usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini | awk '{print$3}') if [ -n "$__memory_limit" ] ; then __MEMORY_LIMIT=$__memory_limit fi @@ -522,8 +525,8 @@ while [[ "X$MEMORY_LIMIT" = "X" ]]; do done ## - php.ini: max_execution_time -if [ -f "/usr/local/php-${MAJOR_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}') +if [ -f "/usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini" ]; then + __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 _MAX_EXECUTION_TIME=$__max_execution_time fi @@ -543,16 +546,16 @@ while [[ "X$MAX_EXECUTION_TIME" = "X" ]]; do done ## - php.ini: upload_max_filesize -if [ -f "/usr/local/php-${MAJOR_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}') +if [ -f "/usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini" ]; then + __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 _UPLOAD_MAX_FILESIZE=$__upload_max_filesize fi fi ## - php.ini: max_input_time -if [ -f "/usr/local/php-${MAJOR_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}') +if [ -f "/usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini" ]; then + __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 _MAX_INPUT_TIME=$__max_input_time fi @@ -572,8 +575,8 @@ while [[ "X$MAX_INPUT_TIME" = "X" ]]; do done ## - php.ini: upload_max_filesize -if [ -f "/usr/local/php-${MAJOR_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}') +if [ -f "/usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini" ]; then + __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 _UPLOAD_MAX_FILESIZE=$__upload_max_filesize fi @@ -604,8 +607,8 @@ while [[ "X$UPLOAD_MAX_FILESIZE" = "X" ]]; do done ## - php.ini: post_max_size -if [ -f "/usr/local/php-${MAJOR_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}') +if [ -f "/usr/local/php-${PHP_MAIN_VERSION}/etc/php.ini" ]; then + __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 _POST_MAX_SIZE=$__post_max_size fi @@ -646,12 +649,12 @@ echo "" echo "" if [ ! -h /usr/local/php ] ; then 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 OK="" while [ "X$OK" = "X" ] 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 __to_lower=`echo $OK | tr '[:upper:]' '[:lower:]' | tr -d ' '` if [ "X$OK" = "X" ]; then @@ -675,17 +678,17 @@ else fi echo "" -if [ ! -h /usr/local/php-${MAJOR_VERSION} ] ; then - SYMLINK_PHP_MAJOR_VERSION=true - echo "Symlink /usr/local/php-$MAJOR_VERSION -> `basename $PREFIX_PHP` will be set." +if [ ! -h /usr/local/php-${PHP_MAIN_VERSION} ] ; then + SYMLINK_PHP_MAIN_VERSION=true + echo "Symlink /usr/local/php-$PHP_MAIN_VERSION -> `basename $PREFIX_PHP` will be set." else OK="" 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 __to_lower=`echo $OK | tr '[:upper:]' '[:lower:]' | tr -d ' '` if [ "X$OK" = "X" ]; then - OK=$_SYMLINK_PHP_MAJOR_VERSION + OK=$_SYMLINK_PHP_MAIN_VERSION break fi if [ "$__to_lower" = "yes" -o "$__to_lower" = "no" ]; then @@ -698,9 +701,9 @@ else OK= done if [ "$OK" = "yes" ]; then - SYMLINK_PHP_MAJOR_VERSION=true + SYMLINK_PHP_MAIN_VERSION=true else - SYMLINK_PHP_MAJOR_VERSION=false + SYMLINK_PHP_MAIN_VERSION=false fi fi @@ -791,20 +794,20 @@ if $WITH_PHP_FPM_SUPPORT && $WITH_MOD_PHP ; then 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_INIT_SCRIPT=/etc/init.d/php-${MAJOR_VERSION}-fpm +FPM_SYSTEMD_FILE=/etc/systemd/system/php-${PHP_MAIN_VERSION}-fpm.service +FPM_INIT_SCRIPT=/etc/init.d/php-${PHP_MAIN_VERSION}-fpm -FPM_LOG_DIR=/var/log/php-${MAJOR_VERSION}-fpm -FPM_ERROR_LOG=${FPM_LOG_DIR}/fpm-${MAJOR_VERSION}-error.log +FPM_LOG_DIR=/var/log/php-${PHP_MAIN_VERSION}-fpm +FPM_ERROR_LOG=${FPM_LOG_DIR}/fpm-${PHP_MAIN_VERSION}-error.log 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_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_GROUP=$HTTPD_GROUP 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_STATUS_PATH="/status-${MAJOR_VERSION}" -FPM_DEFAULT_POOL_PING_PATH="/ping-${MAJOR_VERSION}" +FPM_DEFAULT_POOL_STATUS_PATH="/status-${PHP_MAIN_VERSION}" +FPM_DEFAULT_POOL_PING_PATH="/ping-${PHP_MAIN_VERSION}" FPM_DEFAULT_POOL_PING_RESPONSE="pong" 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 "" 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 "PHP configuration (php.ini)" echo " memory_limit...............: $MEMORY_LIMIT" @@ -864,13 +870,13 @@ if $WITH_MOD_PHP ; then echo " Apache Version.............: $APACHE_VERSION" fi echo "" -if $SYMLINK_PHP_MAJOR_VERSION -o $SYMLINK_PHP ; then +if $SYMLINK_PHP_MAIN_VERSION -o $SYMLINK_PHP ; then echo "Set symlniks:" if $SYMLINK_PHP ; then - echo " /usr/local/php -> /usr/local/php-$MAJOR_VERSION" + echo " /usr/local/php -> /usr/local/php-$PHP_MAIN_VERSION" fi - if $SYMLINK_PHP_MAJOR_VERSION ; then - echo " /usr/local/php-$MAJOR_VERSION -> `basename $PREFIX_PHP`" + if $SYMLINK_PHP_MAIN_VERSION ; then + echo " /usr/local/php-$PHP_MAIN_VERSION -> `basename $PREFIX_PHP`" fi fi echo "" @@ -1068,7 +1074,7 @@ else fi 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 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 @@ -1129,9 +1135,7 @@ config_params=" --with-png-dir \ --with-curl \ --enable-dba \ - --with-mcrypt \ --with-xpm-dir \ - --with-vpx-dir \ --with-freetype-dir \ --enable-ftp \ --with-gmp \ @@ -1169,10 +1173,24 @@ if $SYSTEMD_EXISTS ; then fi ## - since version 7.0: unrecognized options --with-t1lib +## - +## - '--with-webp-dir=DIR' has to be added, i.e. support for libvpx +## - '--with-vpx-dir') has been removed in favor of libwebp. ## - -if [[ $MAIN_VERSION -lt 7 ]] ; then +if [[ $PHP_MAJOR_VERSION -lt 7 ]] ; then config_params="$config_params \ --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 @@ -1181,7 +1199,7 @@ if [ "$MYSQL_INSTALL_DIR" != "not_installed" ]; then if [ -f "/etc/mysql/my.cnf" ]; then _mysql_socket="`cat /etc/mysql/my.cnf | grep -E \"^\s*socket\" | head -1 | awk '{print$3}'`" if [ -S "$_mysql_socket" ]; then - if [[ "$MAJOR_VERSION" = "5.4" ]]; then + if [[ "$PHP_MAIN_VERSION" = "5.4" ]]; then config_params="$config_params \ --with-mysql \ --with-pdo-mysql \ @@ -1193,7 +1211,7 @@ if [ "$MYSQL_INSTALL_DIR" != "not_installed" ]; then --with-mysql-sock" fi else - if [[ "$MAJOR_VERSION" = "5.4" ]]; then + if [[ "$PHP_MAIN_VERSION" = "5.4" ]]; then config_params="$config_params \ --with-mysql \ --with-pdo-mysql " @@ -1206,12 +1224,12 @@ if [ "$MYSQL_INSTALL_DIR" != "not_installed" ]; then else ## - 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 \ --with-mysql" fi - if [[ "$MAJOR_VERSION" = "5.4" ]]; then + if [[ "$PHP_MAIN_VERSION" = "5.4" ]]; then config_params="$config_params \ --with-pdo-mysql " else @@ -1223,12 +1241,12 @@ if [ "$MYSQL_INSTALL_DIR" != "not_installed" ]; then else ## - 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 \ --with-mysql=$MYSQL_INSTALL_DIR" fi - if [[ "$MAJOR_VERSION" = "5.4" ]]; then + if [[ "$PHP_MAIN_VERSION" = "5.4" ]]; then config_params="$config_params \ --with-pdo-mysql=$MYSQL_INSTALL_DIR \ --with-mysql-sock" @@ -1303,7 +1321,7 @@ echononl "\tGoing to install.." make install > ${_logdir}/php-make_install.log 2>&1 if [[ $? -ne 0 ]]; then echo_failed - if [[ "$MAJOR_VERSION" = "5.4" ]]; then + if [[ "$PHP_MAIN_VERSION" = "5.4" ]]; then echononl "\tRetry Installing.." make install > ${_logdir}/php-make_install.log 2>&1 if [[ $? -eq 0 ]]; then @@ -1348,11 +1366,11 @@ echo -e "\t--- post installation tasks" echo -e "\t---" 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 rm -f /usr/local/php fi - ln -s php-$MAJOR_VERSION /usr/local/php + ln -s php-$PHP_MAIN_VERSION /usr/local/php if [ "$?" = "0" ]; then echo_ok else @@ -1360,12 +1378,12 @@ if $SYMLINK_PHP ; then fi fi -if $SYMLINK_PHP_MAJOR_VERSION ; then - echononl "\tSet symlink /usr/local/php-$MAJOR_VERSION -> `basename $PREFIX_PHP`" - if [ -h /usr/local/php-${MAJOR_VERSION} ] ; then - rm -f /usr/local/php-${MAJOR_VERSION} +if $SYMLINK_PHP_MAIN_VERSION ; then + echononl "\tSet symlink /usr/local/php-$PHP_MAIN_VERSION -> `basename $PREFIX_PHP`" + if [ -h /usr/local/php-${PHP_MAIN_VERSION} ] ; then + rm -f /usr/local/php-${PHP_MAIN_VERSION} 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 echo_ok else @@ -1431,28 +1449,28 @@ if $WITH_PHP_FPM_SUPPORT ; 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" - systemctl stop php-${MAJOR_VERSION}-fpm.service > /dev/null 2>&1 + echononl "\tStop service php-${PHP_MAIN_VERSION}-fpm" + systemctl stop php-${PHP_MAIN_VERSION}-fpm.service > /dev/null 2>&1 if [ "$?" = "0" ]; then echo_ok else echo_failed - error "Stopping Service \"php-${MAJOR_VERSION}-fpm\" failed!" + error "Stopping Service \"php-${PHP_MAIN_VERSION}-fpm\" failed!" fi - echononl "\tDisable service php-${MAJOR_VERSION}-fpm" - systemctl disable php-${MAJOR_VERSION}-fpm.service > /dev/null 2>&1 + echononl "\tDisable service php-${PHP_MAIN_VERSION}-fpm" + systemctl disable php-${PHP_MAIN_VERSION}-fpm.service > /dev/null 2>&1 if [ "$?" = "0" ]; then echo_ok else echo_failed - error "Disabling Service \"php-${MAJOR_VERSION}-fpm\" failed!" + error "Disabling Service \"php-${PHP_MAIN_VERSION}-fpm\" failed!" 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 rm "$FPM_SYSTEMD_FILE" > /dev/null 2<&1 if [ "$?" = "0" ]; then @@ -1475,9 +1493,9 @@ if $WITH_PHP_FPM_SUPPORT ; then fi _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 _failed=true fi @@ -1512,7 +1530,7 @@ if $WITH_PHP_FPM_SUPPORT ; then if $_failed ; then echo_failed - error "Some errors adjusting php-${MAJOR_VERSION}-fpm.service occured!" + error "Some errors adjusting php-${PHP_MAIN_VERSION}-fpm.service occured!" else echo_ok fi @@ -1527,8 +1545,8 @@ if $WITH_PHP_FPM_SUPPORT ; then error "Reloading systemd.. failed!" fi - echononl "\tEnable Service \"php-${MAJOR_VERSION}-fpm.service\".." - systemctl enable "php-${MAJOR_VERSION}-fpm.service" > /dev/null 2>&1 + echononl "\tEnable Service \"php-${PHP_MAIN_VERSION}-fpm.service\".." + systemctl enable "php-${PHP_MAIN_VERSION}-fpm.service" > /dev/null 2>&1 if [ "$?" = "0" ]; then echo_ok else @@ -1579,7 +1597,7 @@ if $WITH_PHP_FPM_SUPPORT ; 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 [[ -x "$FPM_INIT_SCRIPT" ]]; then @@ -1596,7 +1614,7 @@ if $WITH_PHP_FPM_SUPPORT ; then sleep 5 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 if [[ $i -eq 0 ]]; then @@ -1613,7 +1631,7 @@ if $WITH_PHP_FPM_SUPPORT ; then 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 done @@ -1660,7 +1678,7 @@ if $WITH_PHP_FPM_SUPPORT ; then 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 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 @@ -1675,7 +1693,7 @@ if $WITH_PHP_FPM_SUPPORT ; then _failed=false 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&^(#\ .+)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 echo_ok else @@ -2058,8 +2076,8 @@ EOF fi echononl "\tConfigure logrotation for \"${FPM_LOG_DIR}\"" - if [ ! -f "/etc/logrotate.d/php-${MAJOR_VERSION}-fpm" ]; then - cat < /etc/logrotate.d/php-${MAJOR_VERSION}-fpm + if [ ! -f "/etc/logrotate.d/php-${PHP_MAIN_VERSION}-fpm" ]; then + cat < /etc/logrotate.d/php-${PHP_MAIN_VERSION}-fpm $FPM_LOG_DIR/*log { daily rotate 7 @@ -2103,6 +2121,22 @@ echo -e "\t--- Install PHP extensions" echo -e "\t---" 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 @@ -2136,27 +2170,32 @@ fi ## ----- echononl "\tInstall uploadprogress via pecl.." -printf "\n" | ${PREFIX_PHP}/bin/pecl install uploadprogress > /dev/null 2>&1 -if [ "$?" = "0" ]; then - echo_ok +if [[ $PHP_MAJOR_VERSION -lt 7 ]] ; then + printf "\n" | ${PREFIX_PHP}/bin/pecl install uploadprogress > /dev/null 2>&1 + if [ "$?" = "0" ]; then + echo_ok - echononl "\tphp.ini: extension=uploadprogress .." - zend_extension_uploadprogress=`find ${PREFIX_PHP}/lib/php/extensions -name uploadprogress.so -print` - if [[ -n "$zend_extension_uploadprogress" ]]; then - _extension="uploadprogress.so" - perl -i -n -p -e "s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#" $PHP_INI_FILE - if [ "$?" = "0" ]; then - echo_ok + echononl "\tphp.ini: extension=uploadprogress .." + zend_extension_uploadprogress=`find ${PREFIX_PHP}/lib/php/extensions -name uploadprogress.so -print` + if [[ -n "$zend_extension_uploadprogress" ]]; then + _extension="uploadprogress.so" + perl -i -n -p -e "s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#" $PHP_INI_FILE + if [ "$?" = "0" ]; then + echo_ok + else + echo_failed + fi else - echo_failed + echo_skipped + warn "Maybe extension \"uploadprogress.so\" is not supported!" fi - else - echo_skipped - warn "Maybe extension \"uploadprogress.so\" is not supported!" - fi + else + echo_failed + fi else - echo_failed + echo_skipped + warn "Pecl extension 'uploadprogress' is only available for PHP versions < 7 - version 7 also excluded." fi ## ----- @@ -2221,7 +2260,7 @@ fi ## - Install uri_template - !! only versions <= 5.6 ## ----- 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 if [ "$?" = "0" ]; then echo_ok @@ -2251,7 +2290,7 @@ fi ## ----- 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 if [ "$?" = "0" ]; then echo_ok @@ -2298,14 +2337,14 @@ fi ## ----- 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 else printf "\n" | ${PREFIX_PHP}/bin/pecl install memcached > /dev/null 2>&1 fi if [ "$?" = "0" ]; then echo_ok - echononl "\tphp.ini: extension=memcsched .." + echononl "\tphp.ini: extension=memcached.so .." _extension="memcached.so" perl -i -n -p -e "s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#" $PHP_INI_FILE 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 ## ----- @@ -2507,7 +2595,7 @@ fi ## ----- 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 else printf "\n" | ${PREFIX_PHP}/bin/pecl install xdebug > /dev/null 2>&1 @@ -2516,11 +2604,19 @@ if [ "$?" = "0" ]; then echo_ok else 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 #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 # #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` @@ -2596,7 +2692,7 @@ else fi 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 else ${PREFIX_PHP}/bin/pear install Net_Socket > /dev/null 2>&1 @@ -2608,7 +2704,7 @@ else fi 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 else ${PREFIX_PHP}/bin/pear install Net_SMTP > /dev/null 2>&1 @@ -2620,7 +2716,7 @@ else fi 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 else ${PREFIX_PHP}/bin/pear install Net_Sieve > /dev/null 2>&1 @@ -2655,7 +2751,7 @@ else fi 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 else ${PREFIX_PHP}/bin/pear install Auth_SASL > /dev/null 2>&1 @@ -2840,6 +2936,16 @@ if [ "$_retval" = "0" ]; then else echo_failed 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 chown ${HTTPD_USER}:$HTTPD_GROUP $_val @@ -2984,6 +3090,16 @@ if [[ -n "$zend_extension_opcache" ]];then else echo_failed 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 chown ${HTTPD_USER}:$HTTPD_GROUP $_val @@ -3168,10 +3284,10 @@ fi ## ----- 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 $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 echo_ok else