[Bug 2016016] Re: Require PHP >= 8.0 due to Symfony stack incompatibilities
Launchpad Bug Tracker
2016016 at bugs.launchpad.net
Sat May 13 18:10:09 UTC 2023
** Merge proposal linked:
https://code.launchpad.net/~athos-ribeiro/ubuntu/+source/phpmyadmin/+git/phpmyadmin/+merge/442796
** Merge proposal linked:
https://code.launchpad.net/~athos-ribeiro/ubuntu/+source/phpmyadmin/+git/phpmyadmin/+merge/442797
--
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/2016016
Title:
Require PHP >= 8.0 due to Symfony stack incompatibilities
Status in phpmyadmin package in Ubuntu:
New
Status in phpmyadmin source package in Jammy:
New
Status in phpmyadmin source package in Kinetic:
New
Status in phpmyadmin source package in Lunar:
New
Bug description:
[ Impact ]
The lack of PHP < 8 support in Ubuntu's Symfony due to the Ubuntu PSR
stack delta makes phpmyadmin crash when users try to run it through
unsupported (non-Ubuntu) versions of PHP < 8 (See LP: #1975892).
This led to several complaints in the upstream channels
- See: https://github.com/phpmyadmin/phpmyadmin/issues/17503
- See: https://github.com/phpmyadmin/phpmyadmin/issues/17523 (same as above but with the hate/heat enabled)
[ Test Plan ]
From a clean ll/kk/jj install:
- Install phpmyadmin (no need to setup a DB)
# apt update
# apt install -y phpmyadmin
- Configure apache2
# echo 'Include /etc/phpmyadmin/apache.conf' >> /etc/apache2/apache2.conf
# systemctl restart apache2
- Verify the login page in http://localhost/phpmyadmin/ displays a
login page.
- Install PHP 7.4 (you can use Onrej Sury's PPA for this purpose)
# add-apt-repository ppa:ondrej/php
# apt update
# apt install -y php7.4
- Run phpmyadmin with the custom php 7.4
# a2dismod php8.1
# a2enmod php7.4
# systemctl restart apache2
- Verify the login page in http://localhost/phpmyadmin/ is now blank.
You should also see an error in your apache logs pointing to Symfony,
such as "[php7:error] ... PHP Parse error: syntax error, unexpected
'static' (T_STATIC) in
/usr/share/php/Symfony/Component/DependencyInjection/ContainerBuilder.php
on line 27
- Install the proposed version of phpmyadmin (the fix provided here)
- Run phpmyadmin with the custom php 7.4
- Verify the login page in http://localhost/phpmyadmin/ is no longer
blank. Instead of the blank page, you should now get a message
informing you that you are running PHP < 8 and should use PHP >= 8 to
run phpmyadmin.
- For completeness, you can verify that the package still works with php8. disable the php7.4 apache module and re-enable the php8.1 one.
# a2dismod php7.4
# a2enmod php8.1
# systemctl restart apache2
- Then verify that http://localhost/phpmyadmin/ displays the login
page again.
[ Where problems could occur ]
Users with custom environments, using a third party PHP < 8 version
and a third party PSR/symfony stack (non-Ubuntu) would experience a
regression here. Their phpmyadmin installation would go from a
functional state to a "gracefully halting" one.
This should not be a major issue given such users would be running an
unsupported customization of our stack. The workaround for such users
would be to consume phpmyadmin from a different source.
[ Other Info ]
While this SRU is proposing to fix a customized workflow (i.e.,
Ubuntu's PHP users are not affected here), there is a large user base
consuming the PHP interpreter from third party sources. Therefore it
would be nice from us to let them know this workflow is currently
unsupported. This would also reduce the burden on the upstream
project, as shown above.
Also, see:
https://bugs.launchpad.net/ubuntu/+source/phpmyadmin/+bug/2013402
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/phpmyadmin/+bug/2016016/+subscriptions
More information about the Ubuntu-sponsors
mailing list