Topic: Migration PHP 7.0.33 vers la 7.3.15

Bonjour,
J'ai modifié les repos, désactivé le 7.0 et activé le 7.3 sous CentOS mais la mise à jour ne passe pas, malgré une tentative avec --skip-broken.
Quelqu'un aurait une idée ?

root@vmn1:/etc/yum.repos.d# yum upgrade
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.init7.net
* epel: mirror.init7.net
* extras: mirror.init7.net
* remi-php73: mirror.23media.com
* remi-safe: mirror.23media.com
* updates: mirror.init7.net
* webtatic: uk.repo.webtatic.com
remi-php73                                                                                                                                            | 3.0 kB  00:00:00
Resolving Dependencies
--> Running transaction check
---> Package php.x86_64 0:7.3.15-1.el7.remi will be obsoleting
--> Processing Dependency: libargon2.so.0()(64bit) for package: php-7.3.15-1.el7.remi.x86_64
---> Package php-bcmath.x86_64 0:7.3.15-1.el7.remi will be obsoleting
---> Package php-cli.x86_64 0:7.3.15-1.el7.remi will be obsoleting
---> Package php-common.x86_64 0:7.3.15-1.el7.remi will be obsoleting
--> Processing Dependency: php-json(x86-64) = 7.3.15-1.el7.remi for package: php-common-7.3.15-1.el7.remi.x86_64
---> Package php-devel.x86_64 0:7.3.15-1.el7.remi will be obsoleting
--> Processing Dependency: libargon2-devel(x86-64) for package: php-devel-7.3.15-1.el7.remi.x86_64
--> Processing Dependency: libedit-devel(x86-64) for package: php-devel-7.3.15-1.el7.remi.x86_64
--> Processing Dependency: libxml2-devel(x86-64) for package: php-devel-7.3.15-1.el7.remi.x86_64
---> Package php-gd.x86_64 0:7.3.15-1.el7.remi will be obsoleting
--> Processing Dependency: gd-last(x86-64) >= 2.1.1 for package: php-gd-7.3.15-1.el7.remi.x86_64
--> Processing Dependency: libgd.so.3()(64bit) for package: php-gd-7.3.15-1.el7.remi.x86_64
---> Package php-mbstring.x86_64 0:7.3.15-1.el7.remi will be obsoleting
--> Processing Dependency: libonig.so.5()(64bit) for package: php-mbstring-7.3.15-1.el7.remi.x86_64
---> Package php-mysqlnd.x86_64 0:7.3.15-1.el7.remi will be obsoleting
---> Package php-pdo.x86_64 0:7.3.15-1.el7.remi will be obsoleting
---> Package php-pear.noarch 1:1.10.10-4.el7.remi will be obsoleting
---> Package php-process.x86_64 0:7.3.15-1.el7.remi will be obsoleting
---> Package php-recode.x86_64 0:7.3.15-1.el7.remi will be obsoleting
---> Package php-snmp.x86_64 0:7.3.15-1.el7.remi will be obsoleting
---> Package php-soap.x86_64 0:7.3.15-1.el7.remi will be obsoleting
---> Package php-tidy.x86_64 0:7.3.15-1.el7.remi will be obsoleting
---> Package php-xml.x86_64 0:7.3.15-1.el7.remi will be obsoleting
---> Package php70w.x86_64 0:7.0.33-1.w7 will be obsoleted
---> Package php70w-bcmath.x86_64 0:7.0.33-1.w7 will be obsoleted
---> Package php70w-cli.x86_64 0:7.0.33-1.w7 will be obsoleted
---> Package php70w-common.x86_64 0:7.0.33-1.w7 will be obsoleted
--> Processing Dependency: php-gmp for package: php-phpseclib-2.0.23-1.el7.noarch
--> Processing Dependency: php-zip for package: phpMyAdmin-4.7.0-0.1.beta1.el7.remi.noarch
Package php72w-common is obsoleted by php-common, but obsoleting package does not provide for requirements
---> Package php70w-devel.x86_64 0:7.0.33-1.w7 will be obsoleted
---> Package php70w-gd.x86_64 0:7.0.33-1.w7 will be obsoleted
---> Package php70w-mbstring.x86_64 0:7.0.33-1.w7 will be obsoleted
---> Package php70w-mysql.x86_64 0:7.0.33-1.w7 will be obsoleted
---> Package php70w-pdo.x86_64 0:7.0.33-1.w7 will be obsoleted
---> Package php70w-pear.noarch 1:1.10.4-1.w7 will be obsoleted
---> Package php70w-process.x86_64 0:7.0.33-1.w7 will be obsoleted
---> Package php70w-recode.x86_64 0:7.0.33-1.w7 will be obsoleted
---> Package php70w-snmp.x86_64 0:7.0.33-1.w7 will be obsoleted
---> Package php70w-soap.x86_64 0:7.0.33-1.w7 will be obsoleted
---> Package php70w-tidy.x86_64 0:7.0.33-1.w7 will be obsoleted
---> Package php70w-xml.x86_64 0:7.0.33-1.w7 will be obsoleted
--> Running transaction check
---> Package gd-last.x86_64 0:2.2.5-10.el7.remi will be installed
--> Processing Dependency: libwebp.so.7()(64bit) for package: gd-last-2.2.5-10.el7.remi.x86_64
---> Package libargon2.x86_64 0:20161029-3.el7 will be installed
---> Package libargon2-devel.x86_64 0:20161029-3.el7 will be installed
---> Package libedit-devel.x86_64 0:3.0-12.20121213cvs.el7 will be installed
--> Processing Dependency: ncurses-devel for package: libedit-devel-3.0-12.20121213cvs.el7.x86_64
---> Package libxml2-devel.x86_64 0:2.9.1-6.el7_2.3 will be installed
--> Processing Dependency: xz-devel for package: libxml2-devel-2.9.1-6.el7_2.3.x86_64
---> Package oniguruma5.x86_64 0:6.9.4-1.el7.remi will be installed
---> Package php-gmp.x86_64 0:7.3.15-1.el7.remi will be installed
---> Package php-json.x86_64 0:7.3.15-1.el7.remi will be installed
---> Package php70w-common.x86_64 0:7.0.33-1.w7 will be obsoleted
--> Processing Dependency: php-zip for package: phpMyAdmin-4.7.0-0.1.beta1.el7.remi.noarch
Package php72w-common is obsoleted by php-common, but obsoleting package does not provide for requirements
--> Running transaction check
---> Package libwebp7.x86_64 0:1.0.3-1.el7.remi will be installed
---> Package ncurses-devel.x86_64 0:5.9-14.20130511.el7_4 will be installed
---> Package php70w-common.x86_64 0:7.0.33-1.w7 will be obsoleted
--> Processing Dependency: php-zip for package: phpMyAdmin-4.7.0-0.1.beta1.el7.remi.noarch
Package php72w-common is obsoleted by php-common, but obsoleting package does not provide for requirements
---> Package xz-devel.x86_64 0:5.2.2-1.el7 will be installed
--> Finished Dependency Resolution
Error: Package: phpMyAdmin-4.7.0-0.1.beta1.el7.remi.noarch (@remi-test)
           Requires: php-zip
           Removing: php70w-common-7.0.33-1.w7.x86_64 (@webtatic)
               php-zip
           Obsoleted By: php-common-7.3.15-1.el7.remi.x86_64 (remi-php73)
               Not found
           Available: php-common-5.4.16-46.el7.x86_64 (base)
               php-zip
           Available: php-common-5.4.16-46.1.el7_7.x86_64 (updates)
               php-zip
           Available: php-pecl-zip-1.17.0-1.el7.remi.7.3.x86_64 (remi-php73)
               php-zip = 1:1.17.0-1.el7.remi.7.3
           Available: php-pecl-zip-1.17.1-1.el7.remi.7.3.x86_64 (remi-php73)
               php-zip = 1:1.17.1-1.el7.remi.7.3
           Available: php55w-common-5.5.38-1.w7.x86_64 (webtatic)
               php-zip
           Available: php56w-common-5.6.40-1.w7.x86_64 (webtatic)
               php-zip
           Available: php71w-common-7.1.26-1.w7.x86_64 (webtatic)
               php-zip
           Available: php71w-common-7.1.27-1.w7.x86_64 (webtatic)
               php-zip
           Available: php71w-common-7.1.28-1.w7.x86_64 (webtatic)
               php-zip
           Available: php71w-common-7.1.29-1.w7.x86_64 (webtatic)
               php-zip
           Available: php71w-common-7.1.30-1.w7.x86_64 (webtatic)
               php-zip
           Available: php71w-common-7.1.31-1.w7.x86_64 (webtatic)
               php-zip
           Available: php71w-common-7.1.32-1.w7.x86_64 (webtatic)
               php-zip
           Available: php71w-common-7.1.33-1.w7.x86_64 (webtatic)
               php-zip
           Available: php72w-common-7.2.14-1.w7.x86_64 (webtatic)
               php-zip
           Available: php72w-common-7.2.16-1.w7.x86_64 (webtatic)
               php-zip
           Available: php72w-common-7.2.17-1.w7.x86_64 (webtatic)
               php-zip
           Available: php72w-common-7.2.19-1.w7.x86_64 (webtatic)
               php-zip
           Available: php72w-common-7.2.21-1.w7.x86_64 (webtatic)
               php-zip
           Available: php72w-common-7.2.22-1.w7.x86_64 (webtatic)
               php-zip
           Available: php72w-common-7.2.24-1.w7.x86_64 (webtatic)
               php-zip
           Available: php72w-common-7.2.27-1.w7.x86_64 (webtatic)
               php-zip
           Available: php-common-7.3.14-1.el7.remi.x86_64 (remi-php73)
               Not found
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
root@vmn1:/etc/yum.repos.d#

Re: Migration PHP 7.0.33 vers la 7.3.15

Disable webtatic repository which raise this issue with thier php72w, php71w... packages

Laptop:  Fedora 38 + rpmfusion + remi (SCL only)
x86_64 builder: Fedora 39 + rpmfusion + remi-test
aarch64 builder: RHEL 9 with EPEL
Hosting Server: CentOS 8 Stream with EPEL, rpmfusion, remi

Re: Migration PHP 7.0.33 vers la 7.3.15

Excellent, many thanks, it works now:
root@vmn1:/etc/yum.repos.d# php -v
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/include/php/ext/ssh2.so' (tried: /usr/include/php/ext/ssh2.so (/usr/include/php/ext/ssh2.so: undefined symbol: _zval_ptr_dtor), /usr/lib64/php/modules//usr/include/php/ext/ssh2.so.so (/usr/lib64/php/modules//usr/include/php/ext/ssh2.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP 7.3.15 (cli) (built: Feb 18 2020 09:25:23) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.15, Copyright (c) 1998-2018 Zend Technologies
root@vmn1:/etc/yum.repos.d#


How can I solve this small issue with ssh2 extension ?
root@vmn1:/etc/yum.repos.d# find / -name ssh2.so
/usr/lib64/php/modules/ssh2.so
/usr/include/php/ext/ssh2.so
root@vmn1:/etc/yum.repos.d#

Re: Migration PHP 7.0.33 vers la 7.3.15

Looks like a manually installed extension (using the pecl command) for the previous PHP 7.0 (so not compatible with 7.3)

You need to clean all of these files, and the "extension" directive in your php configuration
Then you can install it properly

# yum install php-pecl-ssh2


P.S. and /usr/include seems a terribly bad installation directory

Laptop:  Fedora 38 + rpmfusion + remi (SCL only)
x86_64 builder: Fedora 39 + rpmfusion + remi-test
aarch64 builder: RHEL 9 with EPEL
Hosting Server: CentOS 8 Stream with EPEL, rpmfusion, remi

Re: Migration PHP 7.0.33 vers la 7.3.15

Have you considered cleaning up the manually installed extension files and the corresponding "extension" directive in your PHP configuration before installing the ssh2 extension properly using the command "yum install php-pecl-ssh2"?