php.sh 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. #!/bin/bash
  2. case `uname -m` in aarch64|arm64) arch="aarch64";; x86_64|amd64) arch="x86-64";; *) arch="";; esac
  3. [ -n "$arch" ] || exit 1;
  4. phpVer=${1:-5.6}
  5. apt-get install -y gnupg2 ca-certificates lsb-release apt-transport-https
  6. apt-key add <(wget -qO- https://packages.sury.org/php/apt.gpg)
  7. rm -rf /etc/apt/sources.list.d/php.list
  8. echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" |tee /etc/apt/sources.list.d/php.list
  9. apt update
  10. apt-get install -y "php${phpVer}" "php${phpVer}-cli" "php${phpVer}-common" "php${phpVer}-fpm" "php${phpVer}-xml" "php${phpVer}-gd" "php${phpVer}-mysql" "php${phpVer}-imap" "php${phpVer}-curl"
  11. apt-get install -y "php${phpVer}-mbstring" "php${phpVer}-soap" "php${phpVer}-xmlrpc" "php${phpVer}-zip"
  12. update-alternatives --set php "/usr/bin/php${phpVer}"
  13. sed -i 's/^listen[[:space:]]*=.*/listen = 127.0.0.1:9000/' "/etc/php/${phpVer}/fpm/pool.d/www.conf"
  14. sed -i 's/^;\?pm\.max_children[[:space:]]*=.*/pm\.max_children = 32/' "/etc/php/${phpVer}/fpm/pool.d/www.conf"
  15. sed -i 's/^;\?emergency_restart_threshold[[:space:]]*=.*/emergency_restart_threshold = 5/' "/etc/php/${phpVer}/fpm/php-fpm.conf"
  16. sed -i 's/^;\?emergency_restart_interval[[:space:]]*=.*/emergency_restart_interval = 300/' "/etc/php/${phpVer}/fpm/php-fpm.conf"
  17. sed -i 's/^;\?process_control_timeout[[:space:]]*=.*/process_control_timeout = 180/' "/etc/php/${phpVer}/fpm/php-fpm.conf"
  18. sed -i 's/^;\?date\.timezone[[:space:]]*=.*/date\.timezone = \"Asia\/Shanghai\"/' "/etc/php/${phpVer}/cli/php.ini"
  19. sed -i 's/^;\?date\.timezone[[:space:]]*=.*/date\.timezone = \"Asia\/Shanghai\"/' "/etc/php/${phpVer}/fpm/php.ini"
  20. extension_dir=`php -i |grep extension_dir |sed 's/[[:space:]]*=>[[:space:]]*/\n/g' |tail -n1`
  21. wget -qO- "https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_${arch}.tar.gz" | tar -zxv --overwrite -C /tmp
  22. ioncube_path="${extension_dir}/ioncube.so"
  23. cp -rf "/tmp/ioncube/ioncube_loader_lin_${phpVer}.so" "${ioncube_path}"
  24. sed -i '/ioncube\.so/d' "/etc/php/${phpVer}/cli/php.ini"
  25. sed -i '/ioncube\.so/d' "/etc/php/${phpVer}/fpm/php.ini"
  26. echo "zend_extension = ${ioncube_path}" |tee -a "/etc/php/${phpVer}/cli/php.ini" | tee -a "/etc/php/${phpVer}/fpm/php.ini"
  27. php -v
  28. systemctl restart "php${phpVer}-fpm"
  29. systemctl status "php${phpVer}-fpm"