Christopher Juckins

SysAdmin Tips, Tricks and other Software Tools

User Tools

Site Tools


centos_php8.1_upgrade

Rocky Linux PHP 8.1 Upgrade

Pre-existing PHP 7.4 RPMs:

[root@tidewater: ~]# rpm -qa |grep php | sort
oniguruma5php-6.9.7.1-1.el7.remi.x86_64
php-7.4.28-1.el7.remi.x86_64
php-cli-7.4.28-1.el7.remi.x86_64
php-common-7.4.28-1.el7.remi.x86_64
php-json-7.4.28-1.el7.remi.x86_64
php-mbstring-7.4.28-1.el7.remi.x86_64
php-mysqlnd-7.4.28-1.el7.remi.x86_64
php-pdo-7.4.28-1.el7.remi.x86_64
php-pecl-mcrypt-1.0.4-1.el7.remi.7.4.x86_64
php-sodium-7.4.28-1.el7.remi.x86_64
php-xml-7.4.28-1.el7.remi.x86_64

Install PHP 8.1 on 6 March 2022 using https://computingforgeeks.com/how-to-install-php-centos-rhel-linux/

# dnf module list php
# dnf -y module reset php
# dnf module install php:remi-8.1
# dnf install php php-mysqlnd php-pecl-mcrypt libmcrypt libmcrypt-devel

Update the php.ini to my local changes

# systemctl restart httpd
# systemctl daemon-reload

Ensure latest version of PHP is installed:

# php --version

After installation, PHP 8.1 RPMs include the following:

# rpm -qa |grep php | sort
oniguruma5php-6.9.8-1.el8.remi.x86_64
php-8.1.6-1.el8.remi.x86_64
php-cli-8.1.6-1.el8.remi.x86_64
php-common-8.1.6-1.el8.remi.x86_64
php-fpm-8.1.6-1.el8.remi.x86_64
php-mbstring-8.1.6-1.el8.remi.x86_64
php-mysqlnd-8.1.6-1.el8.remi.x86_64
php-opcache-8.1.6-1.el8.remi.x86_64
php-pdo-8.1.6-1.el8.remi.x86_64
php-pecl-mcrypt-1.0.5-1.el8.remi.8.1.x86_64
php-sodium-8.1.6-1.el8.remi.x86_64
php-xml-8.1.6-1.el8.remi.x86_64

Be sure to test the following:

  • phpinfo.php
  • https://juckins.net and all ASMAD pages
  • lastupdated.php and tat_local_php81.php
    • Test 127.0.0.1, localhost, and SERVER IP ADDRESS

These errors appeared:

Deprecated: Constant FILTER_SANITIZE_STRING is deprecated in ...

Fix is explained at Stack Overflow and 2 options are the following:

  • use FILTER_SANITIZE_FULL_SPECIAL_CHARS
  • use FILTER_UNSAFE_RAW

NOTE: 7 March 2022

  • Had to back out to PHP v7.4
    • Local copy of Dokuwiki would not render correctly
      • Fixed upon attempt number 2 in June 2022
      • Ensure permissions are correct
    • Local TAT http wget was failing
      • Needed to install php-pecl-mcrypt
      • Fixed upon attempt number 2 in June 2022

If php-pecl-mcrypt disappears one day, you can use PECL

pecl update-channels
pecl install mcrypt-1.0.5

Follow note at end of install to update the php.ini. You may need to use dnf to install pecl (dnf provides pecl)

centos_php8.1_upgrade.txt · Last modified: 2022/06/06 13:47 by juckins