From 1d4799f817daca9f530d6e9e4c5f1ea4a5079b43 Mon Sep 17 00:00:00 2001 From: Christoph Date: Mon, 1 Jan 2018 18:46:42 +0100 Subject: [PATCH] - Fix some minot error. - Add support for PHP 7.2. --- .gitignore | 1 + .mod_php_install.sh.swp | Bin 122880 -> 0 bytes mod_php_install.sh | 348 ++++++++++++++++++++++++++-------------- 3 files changed, 233 insertions(+), 116 deletions(-) delete mode 100644 .mod_php_install.sh.swp 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 9de26b0179d2fd0c403710cd25599144dc8403ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122880 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 z zf^7dikKFwWcn+S0|AD9B2{-`vz-K`+`^B&WPJ_FV!>@u77>1p&15Sgxk;AV7yFXwD z-v?nMbiw1u;NO57LHh#6L38~J;NOwCzYh<=SK&`Uw)>BUUr;~KzyZ*{fHDk#>a81I zp$;E`$KiVDfESUG55j$L4`@z*A85b8GswpG!#=nMBtOfB|HaS=C&F{c$`8S};G1v@ zl;Iin27EoVKfv}L-YYY~T1?~1Ga(4GKJFAGgK=5fPYA-aaWJ`N2I?0^n%?-l(nvuT zMA)o9NJ|Y*UUoB!<-KchkUNcZg1*hnAbP1U#5wIyC0~r#-LX^TQTzNFh((S6yIt*u zMmzpe&4)TackmUB8N5NXMvstQYWvINqV8f5lkv-jI2CPs;Ywb`>-%dL1p9*Sxnd+gP9P z#0z=d8NdeaaHq4T#K4(hhf&{Hse#9?&Qm#pt&4Cb3m2v{<00X}Z!SEqh_s_-s+uB% z<0Kbsba;?gxGhCO2@{KDMi4p0Mfj(aL5t;2{h=HRPV_cAu}mj|!L5nHv}g1xG2l6F zYNFZoxxS3hS(wW}{_yG&SMI1KbXj?nM8o)PUnqCMT6}LRejzSTLifz%5v#6fVa9vy zJ+XHroI=vQ2%lG%9m+68W`3U?I_?i6gPL(W?NAuS4fWcgtI}Z2T&`Oko7+}wZaWQ~ zjp~Ax2b~AmMXfy|t9Tl=tl`V|vN?NE-x8F{;K2$BuK%-$o)5h zZ2i^Yz3@(W8ypF5fqzBr|02u++4`59f3IYEkR5>QpdaL??;uy6;8Kzh$bIXrN%DAFKW?SD 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