Php version bump to 8.0 #10

Open
opened 2020-12-10 14:54:17 +01:00 by bprieshof · 5 comments
bprieshof commented 2020-12-10 14:54:17 +01:00 (Migrated from 192.168.2.138:3000)

php 8.0 release has become avalible in repos for debian an EL/Centos based os's

First try issue module 'xmlrpc' is no longer avalible

php 8.0 release has become avalible in repos for debian an EL/Centos based os's First try issue module 'xmlrpc' is no longer avalible
bprieshof commented 2020-12-11 12:40:55 +01:00 (Migrated from 192.168.2.138:3000)

Did some intial tests W Nginx

All distros

  • Nextcloud does not yes support php8
  • Wordpress seems to work normal (base install)
  • PhpMyAdmin works as expected
  • Existing php configs stil work, and do not require a update to function

Debian and Ubuntu

  • php8.0-xmlrpc is not avalible, used sed -i 's/PHPprefix-xmlrpc//g' /tmp/pkg.list to remove it from pkg list while installing for testing

enterprise Linux(Centos,etc)

  • php80-php-xmlrpc is not avalible, used sed -i 's/PHPprefix-xmlrpc//g' /tmp/pkg.list to remove it from pkg list while installing
  • php80-php-mysql is no longer avalible and is replaced by php80-php-mysqlnd,change wil we backported to older php versions since php-mysql was a link name for php-mysqlnd, used sed -i 's/PHPprefix-mysql/PHPprefix-mysqlnd/g' /tmp/pkg.listto update this in the pkg list while installing for testing
# Did some intial tests W Nginx ## All distros * Nextcloud does not yes support php8 * Wordpress seems to work normal (base install) * PhpMyAdmin works as expected * Existing php configs stil work, and do not require a update to function ## Debian and Ubuntu * php8.0-xmlrpc is not avalible, used `sed -i 's/PHPprefix-xmlrpc//g' /tmp/pkg.list` to remove it from pkg list while installing for testing ## enterprise Linux(Centos,etc) * php80-php-xmlrpc is not avalible, used `sed -i 's/PHPprefix-xmlrpc//g' /tmp/pkg.list` to remove it from pkg list while installing * php80-php-mysql is no longer avalible and is replaced by php80-php-mysqlnd,change wil we backported to older php versions since php-mysql was a link name for php-mysqlnd, used `sed -i 's/PHPprefix-mysql/PHPprefix-mysqlnd/g' /tmp/pkg.list`to update this in the pkg list while installing for testing
bprieshof commented 2020-12-16 15:43:05 +01:00 (Migrated from 192.168.2.138:3000)

Prepared final intergration for php8.x

Default php version will remain 7.4 until 8.0 is fully tested, and the PHP8-Testing branch is merged into master

Changes

  • [all]Split php-fpm pkg list for into a V7.x an a 8.x version
  • [8.x] removed php-xmlrpc pkg list
  • [all] moved php-mysql from generic pkg list to debian(apt) pkg list and is added with php-msqlnd for EL(dnf) pkg list

Testing

Debian

  • quick test with wordpress on php 8.0 and nginx
  • quick test with wordpress on php 7.4 and nginx

Centos (EL)

  • quick test with wordpress on php 8.0 and nginx
  • quick test with wordpress on php 7.4 and nginx

Testing TO-DO

  • Test/Validate Apache all platforms
  • Deeper test of Nginx
  • Test/Validate All cms's on all webservers

General TO-DO

  • Check if wordpress and nextcloud have need a updating to php config
  • Give php8 on a test server to interal Dev for furter testing of configuration

For tesing use the folling commands

If you want to test php 8 edit the download installer.sh and set the phpver variable to 8.0

using Curl

curl https://git.ictmaatwerk.com/VPS-scripts/Web-V2/raw/branch/PHP8-Testing/installer.sh -o /tmp/installer.sh  
bash /tmp/installer.sh -l 2>&1 | tee ~/output.log 

using wget

wget https://git.ictmaatwerk.com/VPS-scripts/Web-V2/raw/branch/PHP8-Testing/installer.sh -O /tmp/installer.sh  
bash /tmp/installer.sh -l 2>&1 | tee ~/output.log 
# Prepared final intergration for php8.x Default php version will remain 7.4 until 8.0 is fully tested, and the PHP8-Testing branch is merged into master ## Changes * [all]Split php-fpm pkg list for into a V7.x an a 8.x version * [8.x] removed php-xmlrpc pkg list * [all] moved php-mysql from generic pkg list to debian(apt) pkg list and is added with php-msqlnd for EL(dnf) pkg list ## Testing ### Debian - [x] quick test with wordpress on php 8.0 and nginx - [x] quick test with wordpress on php 7.4 and nginx ### Centos (EL) - [x] quick test with wordpress on php 8.0 and nginx - [x] quick test with wordpress on php 7.4 and nginx ### Testing TO-DO * ~~Test/Validate Apache all platforms~~ * Deeper test of Nginx * Test/Validate All cms's on all webservers ## General TO-DO * Check if wordpress and nextcloud have need a updating to php config * Give php8 on a test server to interal Dev for furter testing of configuration ## For tesing use the folling commands If you want to test php 8 edit the download installer.sh and set the `phpver` variable to 8.0 using Curl ``` curl https://git.ictmaatwerk.com/VPS-scripts/Web-V2/raw/branch/PHP8-Testing/installer.sh -o /tmp/installer.sh bash /tmp/installer.sh -l 2>&1 | tee ~/output.log ``` using wget ``` wget https://git.ictmaatwerk.com/VPS-scripts/Web-V2/raw/branch/PHP8-Testing/installer.sh -O /tmp/installer.sh bash /tmp/installer.sh -l 2>&1 | tee ~/output.log ```
bprieshof commented 2020-12-18 15:08:36 +01:00 (Migrated from 192.168.2.138:3000)

PHP 8 Testing

Apache works with PHP 8, did same inital testing as with Nginx, behaviour is the same,
so if something works in Nginx it shoud work with Apache

  • Deb(Ubuntu 18.04) With Apache and Wordpress
  • EL(Centos 8) With Apache and Wordpress

PHP update tool

Changes to the tool

  • Set CMS and phpmyadmin to use 127.0.0.1 instad of localhost for database since EL sometimes failed to resolve
  • Intergrated Distro detection/seperation
  • Intergrated New phpvar.list form php-fpm module
  • Intergrated New apachevar.list form apache coremodule (if apache is used)
  • Generelized instalation form since it existed seperate in Normal and Legacy mode
  • Changed detection of latest php version for deb and added alternative for EL

Testing the tool

Installed server with php 7.3, used tool to fully update to php 7.4 and remove 7.4
then ran the tool again to update to php8.0 for only the backend CMS

Results:

  • Deb(Ubuntu 18.04) With Nginx in "Normal(Whiptail)" mode

  • Deb(Ubuntu 18.04) With Apache in "Normal(Whiptail)" mode

  • EL(Centos 8) With Nginx in "Normal(Whiptail)" mode

  • EL(Centos 8) With Apache in "Normal(Whiptail)" mode

  • Deb(Ubuntu 18.04) With Nginx in "Legacy(CLI)" mode

  • Deb(Ubuntu 18.04) With Apache in "Legacy(CLI)" mode

  • EL(Centos 8) With Nginx in "Legacy(CLI)" mode

  • EL(Centos 8) With Apache in "Legacy(CLI)" mode

# PHP 8 Testing Apache works with PHP 8, did same inital testing as with Nginx, behaviour is the same, so if something works in Nginx it shoud work with Apache - [x] Deb(Ubuntu 18.04) With Apache and Wordpress - [x] EL(Centos 8) With Apache and Wordpress # PHP update tool ## Changes to the tool * Set CMS and phpmyadmin to use 127.0.0.1 instad of localhost for database since EL sometimes failed to resolve * Intergrated Distro detection/seperation * Intergrated New phpvar.list form php-fpm module * Intergrated New apachevar.list form apache coremodule (if apache is used) * Generelized instalation form since it existed seperate in Normal and Legacy mode * Changed detection of latest php version for deb and added alternative for EL ## Testing the tool Installed server with php 7.3, used tool to fully update to php 7.4 and remove 7.4 then ran the tool again to update to php8.0 for only the backend CMS ### Results: - [x] Deb(Ubuntu 18.04) With Nginx in "Normal(Whiptail)" mode - [x] Deb(Ubuntu 18.04) With Apache in "Normal(Whiptail)" mode - [x] EL(Centos 8) With Nginx in "Normal(Whiptail)" mode - [x] EL(Centos 8) With Apache in "Normal(Whiptail)" mode - [x] Deb(Ubuntu 18.04) With Nginx in "Legacy(CLI)" mode - [x] Deb(Ubuntu 18.04) With Apache in "Legacy(CLI)" mode - [x] EL(Centos 8) With Nginx in "Legacy(CLI)" mode - [x] EL(Centos 8) With Apache in "Legacy(CLI)" mode
bprieshof commented 2021-03-17 11:39:57 +01:00 (Migrated from 192.168.2.138:3000)

PHPMyadmin Spits error on import page (Fixed with PhpMyAdmin update)

file_exists(): open_basedir restriction in effect. File(/) is not within the allowed path(s): (/var/log/PhpMyAdmin:/usr/share/phpmyadmin:/var/lib/phpmyadmin:/etc/phpmyadmin:/tmp)
~~PHPMyadmin Spits error on import page~~ (Fixed with PhpMyAdmin update) ``` file_exists(): open_basedir restriction in effect. File(/) is not within the allowed path(s): (/var/log/PhpMyAdmin:/usr/share/phpmyadmin:/var/lib/phpmyadmin:/etc/phpmyadmin:/tmp) ```
bprieshof commented 2021-08-11 13:04:20 +02:00 (Migrated from 192.168.2.138:3000)

Nextcloud Cronjobs brake if APCu is not enabled add apc.enable_cli=1 to etc/php/8.0/mods-available/apcu.ini (for Deb) and set the same option in etc/opt/remi/php${phpver//.}/php.d/40-apcu.ini (for EL8)

  • Fix tested
  • Fix implemented
Nextcloud Cronjobs brake if APCu is not enabled add `apc.enable_cli=1` to `etc/php/8.0/mods-available/apcu.ini` (for Deb) and set the same option in `etc/opt/remi/php${phpver//.}/php.d/40-apcu.ini` (for EL8) - [x] Fix tested - [x] Fix implemented
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Work_Archive/VPS-scripts_Web-V2#10