View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0027484||mantisbt||migration||public||2020-11-06 05:37||2020-12-06 08:04|
|Status||closed||Resolution||no change required|
|Platform||MySQL 8.0.22 + PHP7.4||OS||Ubuntu||OS Version||20.04.1 LTS|
|Summary||0027484: Cannot upgrade Mantis with PHP7.4|
Dear dev team,
After an Ubuntu release upgrade from 18.04.1 LTS to 20.04.1 LTS, my SQL server was upgraded from 5.7.32 to 8.0.22 version.
Call to a member function BindTimeStamp() on null\n/var/www/mantis-bc/admin/schema.php: 69:
Any clue about this BindTimeStamp function called by installer_db_now() ?
Thanks in advance.
|Steps To Reproduce|
Mantis website migration from (2.22.1 - DB 209) to last version with Ubuntu 20.04.1 LTS + mySQL 8.0.22 version + PHP 7.4
Tested first with last stable 2.24.3 release (but I'm afraid this version is not compatible with PHP7.4)
|Tags||No tags attached.|
For the record, there are no known compatibility issues with PHP 7.4. I'm running Ubuntu 20.04 LTS myself without any issues on my dev box.
BindTimeStamp() is an ADOdb function, which is the library we use to provide a database abstraction layer.
The key here, is that the function is being called on null, which means that the database was not initialized (global variable $g_db is null, but it should be an ADOConnection object).
Looking at the provided stack trace, assuming I'm reading it properly, it would appear that schema.php is being loaded from your config_inc.php file:
This would explain the error because at the time the config file is included, the database has not yet been initialized in MantisBT core. Can you confirm this ?
Thanks for you reply.