From a8bee1e65d3555423b99c1873520948dc3ebd40b Mon Sep 17 00:00:00 2001 From: Valentin Kleibel Date: Mon, 4 Apr 2022 14:52:49 +0200 Subject: [PATCH] devuan: merge and update php installer scripts --- devuan/resources/ioncube.sh | 76 +++++++++++++++++++++++++++++++++++++ devuan/resources/php.sh | 51 +++++++++++++++++++------ 2 files changed, 116 insertions(+), 11 deletions(-) create mode 100755 devuan/resources/ioncube.sh diff --git a/devuan/resources/ioncube.sh b/devuan/resources/ioncube.sh new file mode 100755 index 0000000..0599506 --- /dev/null +++ b/devuan/resources/ioncube.sh @@ -0,0 +1,76 @@ +#!/bin/sh + +#move to script directory so all relative paths work +cd "$(dirname "$0")" + +#includes +. ./config.sh +. ./colors.sh +. ./environment.sh + +#show cpu details +echo "cpu architecture: $cpu_architecture" +echo "cpu name: $cpu_name" + +#make sure unzip is install +apt-get install -y unzip + +#remove the ioncube directory if it exists +if [ -d "ioncube" ]; then + rm -Rf ioncube; +fi + +#get the ioncube load and unzip it +if [ .$cpu_architecture = .'x86' ]; then + #get the ioncube 64 bit loader + wget --no-check-certificate https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.zip + + #uncompress the file + unzip ioncube_loaders_lin_x86-64.zip + + #remove the zip file + rm ioncube_loaders_lin_x86-64.zip +elif [ .$cpu_architecture = ."arm" ]; then + if [ .$cpu_name = .'armv7l' ]; then + #get the ioncube 64 bit loader + wget --no-check-certificate https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_armv7l.zip + + #uncompress the file + unzip ioncube_loaders_lin_armv7l.zip + + #remove the zip file + rm ioncube_loaders_lin_armv7l.zip + fi +fi + +#set the version of php +if [ ."$os_codename" = ."beowolf" ]; then + php_version=7.3 +fi +if [ ."$os_codename" = ."chimera" ]; then + php_version=7.4 +fi + +#copy the loader to the correct directory +if [ ."$php_version" = ."7.3" ]; then + #copy the php extension .so into the php lib directory + cp ioncube/ioncube_loader_lin_7.3.so /usr/lib/php/20180731 + + #add the 00-ioncube.ini file + echo "zend_extension = /usr/lib/php/20180731/ioncube_loader_lin_7.3.so" > /etc/php/7.3/fpm/conf.d/00-ioncube.ini + echo "zend_extension = /usr/lib/php/20180731/ioncube_loader_lin_7.3.so" > /etc/php/7.3/cli/conf.d/00-ioncube.ini + + #restart the service + /usr/sbin/service php7.3-fpm restart +fi +if [ ."$php_version" = ."7.4" ]; then + #copy the php extension .so into the php lib directory + cp ioncube/ioncube_loader_lin_7.4.so /usr/lib/php/20190902 + + #add the 00-ioncube.ini file + echo "zend_extension = /usr/lib/php/20190902/ioncube_loader_lin_7.4.so" > /etc/php/7.4/fpm/conf.d/00-ioncube.ini + echo "zend_extension = /usr/lib/php/20190902/ioncube_loader_lin_7.4.so" > /etc/php/7.4/cli/conf.d/00-ioncube.ini + + #restart the service + /usr/sbin/service php7.4-fpm restart +fi diff --git a/devuan/resources/php.sh b/devuan/resources/php.sh index 5b4e704..2f3e0fa 100755 --- a/devuan/resources/php.sh +++ b/devuan/resources/php.sh @@ -6,27 +6,56 @@ cd "$(dirname "$0")" #includes . ./config.sh . ./colors.sh +. ./environment.sh #send a message verbose "Configuring PHP" -#update config if source is being used -if [ ."$php_version" = ."5" ]; then - verbose "version 5.x" - php_ini_file='/etc/php5/fpm/php.ini' +#set php version +#chimera - bullseye +#beowolf - buster +if [ ."$os_codename" = ."beowolf" ]; then + php_version=7.3 fi -if [ ."$php_version" = ."7" ]; then - verbose "version 7.0" - php_ini_file='/etc/php/7.0/fpm/php.ini' +if [ ."$os_codename" = ."chimera" ]; then + php_version=7.4 +fi + +#install dependencies +apt-get install -y nginx +if [ ."$php_version" = ."" ]; then + apt-get install -y php php-cli php-fpm php-pgsql php-sqlite3 php-odbc php-curl php-imap php-xml php-gd +fi +if [ ."$php_version" = ."7.3" ]; then + apt-get install -y php7.3 php7.3-cli php7.3-fpm php7.3-pgsql php7.3-sqlite3 php7.3-odbc php7.3-curl php7.3-imap php7.3-xml php7.3-gd php7.3-mbstring +fi +if [ ."$php_version" = ."7.4" ]; then + apt-get install -y php7.4 php7.4-cli php7.4-dev php7.4-fpm php7.4-pgsql php7.4-sqlite3 php7.4-odbc php7.4-curl php7.4-imap php7.4-xml php7.4-gd php7.4-mbstring +fi + +#update config if source is being used +if [ ."$php_version" = ."7.3" ]; then + verbose "version 7.3" + php_ini_file='/etc/php/7.3/fpm/php.ini' +fi +if [ ."$php_version" = ."7.4" ]; then + verbose "version 7.4" + php_ini_file='/etc/php/7.4/fpm/php.ini' fi sed 's#post_max_size = .*#post_max_size = 80M#g' -i $php_ini_file sed 's#upload_max_filesize = .*#upload_max_filesize = 80M#g' -i $php_ini_file +sed 's#;max_input_vars = .*#max_input_vars = 8000#g' -i $php_ini_file sed 's#; max_input_vars = .*#max_input_vars = 8000#g' -i $php_ini_file +#install ioncube +if [ .$cpu_architecture = .'x86' ]; then + . ./ioncube.sh +fi + #restart php-fpm -if [ ."$php_version" = ."5" ]; then - /usr/sbin/service php5-fpm restart +if [ ."$php_version" = ."7.3" ]; then + /usr/sbin/service php7.3-fpm restart fi -if [ ."$php_version" = ."7" ]; then - /usr/sbin/service php7.0-fpm restart +if [ ."$php_version" = ."7.4" ]; then + /usr/sbin/service php7.4-fpm restart fi