[Bug 2016016] Re: [SRU] require PHP 8 (LP: #1975892)
Athos Ribeiro
2016016 at bugs.launchpad.net
Fri May 12 02:24:06 UTC 2023
** Description changed:
[ Impact ]
- * Forcing PHP 8 is required as users posted their concerns and invade Internet about this subject since then
- - 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)
- - The packaging of symfony is made so it's impossible to run PHP < 8
+ 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 ]
- * To reproduce the forced PHP 8 message, install deb sury's PHP 7.4
- or an Ubuntu jammy with PHP 7.4 installed and Apache2
- and the packages mentioned in https://bugs.launchpad.net/ubuntu/+source/symfony/+bug/1975892
- - Now that everything is installed, admire the error 500
- - Apply my patch on `libraries/common.inc.php`
- - Refresh, and see the HTML
- Alternative solution, change the `PHP_VERSION_ID < 80000` to `true` and see the HTML.
+ 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 could complain about the change for the PHP 8 version required,
- but that would mean they tweaked their distribution in a very weird way to have the symfony packages non buggy.
+ 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 ]
- See: https://bugs.launchpad.net/ubuntu/+source/phpmyadmin/+bug/2013402
+ 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
** Summary changed:
- [SRU] require PHP 8 (LP: #1975892)
+ Require PHP >= 8.0 due to Symfony stack incompatibilities
--
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