View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|17236||Bug reports||Installation||public||2021-04-09 09:47||2021-07-12 11:53|
|Summary||17236: PHP 8 not supported yet|
i use the newest php 8 and get this error from limesurvey:
"Fatal error: Uncaught Error: Undefined constant "MB_OVERLOAD_STRING"
the error comes from the 3rd party library sodium_compat, the developers of this library already published a new version, so you need to update the library files in limesurvey also to make limesurvey work with php 8 and maybe more changes are needed also?
whats the timeline of the php8 support?
php 7.4 security support ends in in 1 year, 7 months.
|Complete LimeSurvey version number (& build)||Version 4.4.16+210406|
|I will donate to the project if issue is resolved||No|
|Database type & version||430|
|Server OS (if known)|
|Webserver software & version (if known)|
It's not fully supported, no.
Carsten, if you want to fix this, please apply this solution: https://bugs.limesurvey.org/view.php?id=17105
Wait, a composer upgrade might be enough.
Hm, package sodium_compat is in the wrong folder.
yes, i think the issue of "Fatal error: Uncaught Error: Undefined constant "MB_OVERLOAD_STRING" which comes from sodium_compat is fixed by their developers already, so maybe you could upgrade your version if there are not any changes in the new sodium_compat that would break things in limesurvey.
Yeah, working on it, just have to move the package to our main vendor folder.
There are lots of errors of this kind:
function getSurveyUserList($bIncludeSuperAdmins = true, $surveyid)
Optional argument must be last. If you run with debug = 2, it might crash in a lot of places. So I'd recommend PHP 7.4 right now.
ok, great, thanks!
maybe just make sure when php 7.4 reaches end of security support that you atleast by then have the code compatible with php 8, thanks
For sure we want to support PHP 8 soon, but it's not considered a high-priority issue to get LS4 on our hosting platform.
If you want, you can checkout branch bug/17236-PHP-8-not-supported and test.
maybe as a first step upgrade the sodium_compat library (and see if that breaks) anything so the new version is already there for the next limesurvey release and this part of an upgrade to php8 could be considered done?
Yes, I did upgrade sodium_compat. :) It's in branch bug/17236-PHP-8-not-supported. We'll test is before it gets merged into a release.
ok, thanks, great!
We had the same issue, but it took a while to figure it out because we only heard it from survey participants... If PHP 8 is not supported, it would be great if the application and/or the manual could warn me. https://manual.limesurvey.org/Installation_-_LimeSurvey_CE
Added a note to the manual, thanks for reminding us.
System used: PHP 8.0.1, 10.4.17-MariaDB on a recent Win10 XAMPP installation.
limesurvey\installer\create-database.php: modifying (commenting out) the following lines
limesurvey\application\third_party\sodium_compat\src\Core\Util.php: inserted line 910
(see https://github.com/paragonie/sodium_compat/blob/master/src/Core/Util.php around line 900 where there is a note
Please mind that this should be considered a QUICK FIX that helped to install lime survey on a localhost test server (therefore not checked in on
First part (modifications for limesurvey\installer\create-database.php: commenting out lines) also helps for PHP8.0.1-support for LimeSurvey 3.26.2 -
We've made multiple patches to support PHP 8 on LS4, but they are still in a separate branch. Some libs require PHP 7.3 at least if you also want PHP 8 support, which screws with our PHP 7.0 compatibility. We might bump requirement to PHP 7.3 and release a LS5 version.
New minimum PHP requirement will be 7.2.5.
Fix committed to 3.x-LTS branch: http://bugs.limesurvey.org/plugin.php?page=Source/view&id=31742
LimeSurvey: 3.x-LTS 88ccdb37
2021-04-23 09:19:57Details Diff
|Fixed issue 17236: PHP 8 not supported||
|mod - application/controllers/InstallerController.php||Diff File|
|mod - application/core/web/LSYii_SecurityManager.php||Diff File|
|mod - application/helpers/common_helper.php||Diff File|
|mod - application/helpers/frontend_helper.php||Diff File|
|mod - application/helpers/qanda_helper.php||Diff File|
|mod - application/views/admin/labels/_labelviewrightcontent_view.php||Diff File|
|mod - application/views/admin/themeoptions/import_modal.php||Diff File|
|mod - application/views/admin/themeoptions/index.php||Diff File|
|mod - application/views/admin/themes/importform_view.php||Diff File|
|mod - application/views/admin/themes/templateeditorbar_view.php||Diff File|
|mod - installer/create-database.php||Diff File|
|2021-04-09 09:47||w__1992||New Issue|
|2021-04-09 09:47||w__1992||Issue Monitored: w__1992|
|2021-04-09 10:49||ollehar||Note Added: 63889|
|2021-04-09 10:51||ollehar||Note Added: 63890|
|2021-04-09 11:09||ollehar||Note Added: 63891|
|2021-04-09 12:01||w__1992||Note Added: 63893|
|2021-04-09 12:02||ollehar||Note Added: 63894|
|2021-04-09 12:07||ollehar||Note Added: 63895|
|2021-04-09 12:07||w__1992||Note Added: 63896|
|2021-04-09 12:10||w__1992||Note Added: 63897|
|2021-04-09 12:11||ollehar||Note Added: 63898|
|2021-04-09 12:13||ollehar||Status||new => ready for testing|
|2021-04-09 12:13||ollehar||Working Git branch (developer only)||=> bug/17236-PHP-8-not-supported|
|2021-04-09 12:13||ollehar||Note Added: 63899|
|2021-04-09 12:14||ollehar||Priority||none => normal|
|2021-04-09 12:14||ollehar||Severity||minor => crash|
|2021-04-09 12:14||ollehar||Product Version||=> 4.4.15|
|2021-04-09 12:14||ollehar||Target Version||=> 4.x.0-dev|
|2021-04-09 12:34||w__1992||Note Added: 63900|
|2021-04-09 12:45||ollehar||Note Added: 63901|
|2021-04-09 12:47||w__1992||Note Added: 63902|
|2021-04-22 14:48||ollehar||Tag Attached: PHP 8|
|2021-04-22 17:04||c_schmitz||Sync to Zoho Project||=> |Yes||
|2021-04-23 15:40||BB63D82||Note Added: 64133|
|2021-04-23 15:45||ollehar||Note Added: 64134|
|2021-05-04 01:23||MarcoChin||Note Added: 64218|
|2021-05-04 10:56||ollehar||Note Added: 64220|
|2021-05-07 16:04||c_schmitz||Summary||PHP 8 not supported yet? Fatal error: Uncaught Error: Undefined constant "MB_OVERLOAD_STRING? => PHP 8 not supported yet|
|2021-05-07 16:04||c_schmitz||Sync to Zoho Project||Yes => |Yes||
|2021-05-07 16:06||c_schmitz||Note Added: 64287|
|2021-05-10 15:27||c_schmitz||Changeset attached||=> LimeSurvey 3.x-LTS 88ccdb37|
|2021-05-10 15:27||c_schmitz||Note Added: 64327|
|2021-05-10 15:27||c_schmitz||Assigned To||=> c_schmitz|
|2021-05-10 15:27||c_schmitz||Resolution||open => fixed|
|2021-05-11 11:16||BB63D82||Issue Monitored: BB63D82|
|2021-05-11 11:16||BB63D82||Issue End Monitor: BB63D82|
|2021-05-26 17:20||c_schmitz||Status||ready for testing => resolved|
|2021-07-12 11:53||c_schmitz||Note Added: 65291|
|2021-07-12 11:53||c_schmitz||Status||resolved => closed|
|2022-11-10 12:10||gwdgls||Bug heat||12 => 18|