Bug 1657461

Summary: phpMyAdmin Doesn't Work with PHP 7+
Product: [Fedora] Fedora EPEL Reporter: warvia
Component: phpMyAdminAssignee: Robert Scheck <redhat-bugzilla>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: el6CC: fedora, imlinux+fedora, redhat-bugzilla
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-12-08 17:42:09 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description warvia 2018-12-08 15:57:59 UTC
Description of problem:
The current phpMyAdmin package doesn't work with PHP 7.0 or newer.

Version-Release number of selected component (if applicable):
4.0.10.20

How reproducible:
Always

Steps to Reproduce:
1. Install the dependencies for phpMyAdmin
php71u-tidy
php71u-mysqlnd
php71u-xml
php71u-gd
php71u-mcrypt
php71u-json
php71u-mbstring
php71u-process
php71u-bcmath
php71u-common
mod_php71u
php71u-pdo
fontpackages-filesystem
dejavu-fonts-common
dejavu-sans-fonts
php-tcpdf
php-tcpdf-dejavu-sans-fonts
php-fedora-autoloader
2. Install phpMyAdmin
3. Install fails even though app deps are met.

Actual results:
yum install phpMyAdmin -y
Loaded plugins: fastestmirror
Setting up Install Process
Loading mirror speeds from cached hostfile
 * ius: muug.ca
Resolving Dependencies
--> Running transaction check
---> Package phpMyAdmin.noarch 0:4.0.10.20-1.el6 will be installed
--> Processing Dependency: php(language) < 7 for package: phpMyAdmin-4.0.10.20-1.el6.noarch
--> Running transaction check
---> Package php56u-common.x86_64 0:5.6.38-1.ius.centos6 will be installed
--> Processing Dependency: php56u-pecl-jsonc(x86-64) for package: php56u-common-5.6.38-1.ius.centos6.x86_64
--> Running transaction check
---> Package php56u-pecl-jsonc.x86_64 0:1.3.10-2.ius.centos6 will be installed
--> Processing Dependency: php56u-pear for package: php56u-pecl-jsonc-1.3.10-2.ius.centos6.x86_64
--> Processing Dependency: php56u-pear for package: php56u-pecl-jsonc-1.3.10-2.ius.centos6.x86_64
--> Running transaction check
---> Package php56u-pear.noarch 1:1.10.5-1.ius.centos6 will be installed
--> Processing Dependency: php56u-cli for package: 1:php56u-pear-1.10.5-1.ius.centos6.noarch
--> Processing Dependency: php56u-posix for package: 1:php56u-pear-1.10.5-1.ius.centos6.noarch
--> Processing Dependency: php56u-xml for package: 1:php56u-pear-1.10.5-1.ius.centos6.noarch
--> Running transaction check
---> Package php56u-cli.x86_64 0:5.6.38-1.ius.centos6 will be installed
---> Package php56u-process.x86_64 0:5.6.38-1.ius.centos6 will be installed
---> Package php56u-xml.x86_64 0:5.6.38-1.ius.centos6 will be installed
--> Processing Conflict: php71u-common-7.1.24-1.ius.centos6.x86_64 conflicts php-common < 7.1.24-1.ius.centos6
--> Processing Conflict: php71u-common-7.1.24-1.ius.centos6.x86_64 conflicts php56u-common
--> Processing Conflict: php71u-json-7.1.24-1.ius.centos6.x86_64 conflicts php-json < 7.1.24-1.ius.centos6
--> Processing Conflict: php71u-process-7.1.24-1.ius.centos6.x86_64 conflicts php-process < 7.1.24-1.ius.centos6
--> Processing Conflict: php71u-xml-7.1.24-1.ius.centos6.x86_64 conflicts php-xml < 7.1.24-1.ius.centos6
--> Finished Dependency Resolution
Error: php71u-process conflicts with php56u-process-5.6.38-1.ius.centos6.x86_64
Error: php71u-common conflicts with php56u-common-5.6.38-1.ius.centos6.x86_64
Error: php71u-json conflicts with php56u-pecl-jsonc-1.3.10-2.ius.centos6.x86_64
Error: php71u-xml conflicts with php56u-xml-5.6.38-1.ius.centos6.x86_64
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest


Expected results:
phpMyAdmin should install

Additional info:
When examining the deplist of phpMyAdmin I see the dependency dependency: php(language) listed twice.
yum deplist phpMyAdmin|grep 'dependency: php(language)'
  dependency: php(language) >= 5.2.17
  dependency: php(language) < 7

One would indicate any version of PHP equal to or newer than 5.2.17 will work.  The other indicates only versions of PHP older than 7 will work.  I did an extensive check for all dependencies for phpMyAdmin including deps for adjacent packages.  Note in the install failure the line:
Processing Dependency: php(language) < 7 for package: phpMyAdmin-4.0.10.20-1.el6.noarch

Comment 1 Remi Collet 2018-12-08 17:20:01 UTC
Package in EPEL are designed to work with PHP in Base repository (so PHP 5.4)

We cannot support random 3rd party repository.

(or choose another provider which provide a consistent stack, including PHP and webapp).


More recent version doesn't work with PHP 5.4.

Comment 2 warvia 2018-12-08 17:36:24 UTC
Thank you for responding to this post.  I'm not asking for random 3rd party support.  I'm discussing packages installed from the widely used IUS repository.  All the dependencies for phpMyAdmin are available and work for php70u and php71u.  The limitation on this is artificial as it is looking for the line:
dependency: php(language) < 7
Removal of that line from the depedency list would resolve the problem.

The phpMyAdmin package works with php56u which is also provided by IUS but is less than 7 per the line mentioned.

Comment 3 Robert Scheck 2018-12-08 17:36:49 UTC
The ancient phpMyAdmin version in EPEL 6 doesn't support modern PHP versions,
however the phpMyAdmin version in EPEL 7 works with PHP >= 5.4 && PHP <= 7.2.

Comment 4 Robert Scheck 2018-12-08 17:42:09 UTC
Given that phpMyAdmin 4.0.10.x only supports and works properly with
PHP 5.x, the current PHP package requirement is correct. RHEL/CentOS
6 is too old from my point of view to introduce now any hacks for 3rd
party repositories like IUS. Please use a repository that provides a
consistent web stack, such as Remi already said.