Update to Version 17.0 failed on /install/check.php?testget=ok

The upgrade process failed on page /install/check.php?testget=ok with an error 500.

I am using nginx and php 8.1. The log files shows:

PHP message: PHP Fatal error: Uncaught Error: Call to undefined function adodb_strftime() in /var/www/doli/core/lib/functions.lib.php:2640

Stack trace:
#0 /var/www/doli/core/lib/functions.lib.php(1636): dol_print_date()

thrown in /var/www/doli/core/lib/functions.lib.php on line 2640" while reading response header from upstream, client: …, server: …, request: “GET /doli/install/check.php?testget=ok HTTP/2.0”, upstream: “fastcgi://unix:/var/lib/php8.1-fpm/web.sock:”, host: “…”

This is a snippet of that line:


elseif ($format == ‘dayxcard’) {
$format = ‘%Y%m%d’;
} elseif ($format == ‘dayrfc’) {
$format = ‘%Y-%m-%d’; // DATE_RFC3339
} elseif ($format == ‘dayhourrfc’) {
$format = ‘%Y-%m-%dT%H:%M:%SZ’; // DATETIME RFC3339
}

I tried the update on my locahost with success. My localhost runs the same php version. For me I looks like there are some php modules missing or a setting is different to my localhost.

I cannot find the exact reason for this behavier. The upgrade runs on my localhost and not on my server. Maybe someone can give my a tipp where and how to dig deeper what is missing or wrong configured.

Thank you very much

Katasun

Hello,

Most probably you have an old Dolibarr that has been upgraded several times ?
The only way to get this error is to have the constant

MAIN_USE_LEGACY_ADODB_FOR_DATE= 1

Need to put it at 0 on llx_const to be able to upgrade

Thank you very much for your reply. My problem was | is related to PHP 8.1. Because of limited time I switched back to PHP 7.4, that does the upgrade immediately. It seems to be a configuration error of my server. But I didn’t found a proper hint what module is missing or wrong. I will start a new try on PHP 8.2.

Thanks Katasun