Erreur 500 changement de serveur

Bonjour,

Je résous à demander de l’aide ici pour une migration de serveur qui ne veut pas passer.

J’ai donc besoin de changer de serveur, j’ai donc suivi la doc pour la migration.
Serveur d’origine, Ionos mutalisé, ubuntu 18,04, php7 et mysql v5,7, dolibarr16.0.4
Nouveau serveur, OVH dédié, ubuntu 22.04, php8 et mariadb v10.6

J’ai installé configuré le nouveau serveur, installé un dolibarr 16.0.4 tout neuf fonctionnel.
Copie des dossier documents, custom.
Dump de ma base d’origine, et restauration sur le nouveau serveur. La restauration se passe bien grâce au troubleshooting de cette page: Restores - Dolibarr ERP CRM Wiki

Mais après la restauration, j’obtiens une erreur 500, la page ne fonctionne pas.

Dans le doute, j’ai switché le serveur en php7. Idem.
J’ai désinstallé mariadb, installé mysql5.7, idem. De plus je souhaite garder mariadb…

Je dois louper quelque chose, mais quoi?

Bonjour,

Une erreur 500 a de nombreuses causes possibles.
Cela peut être un problème de configuration apache / nginx / caddy, un problème de droits sur fichiers / répertoires (mauvaise config de selinux par exemple), un problème de configuration de php (mémoire allouée, module manquant…), problème d’accès à la BDD, etc

Il faut donc chercher dans les divers logs (logs php, apache / nginx / caddy…) pour en trouver l’origine.

J’ai ça:

PHP Fatal error: Uncaught TypeError: Unsupported operand types: string * int in /var/www/html/testdolibarr/htdocs/core/class/conf.class.php:823

Il y a donc une erreur ligne 823 dans le fichier conf.class.php ou on essaie de multiplier une chaine de caractères par un entier.

Il suffit d’y jeter un coup d’oeil

Il y a un problème avec la constante MAIN_DELAY_MEMBERS qui devrait être convertie en integer dans le code avant qu’on applique la multiplication.

C’est du code de mauvaise qualité qui ne renvoyait qu’un warning en php 7, mais avec php 8 cela renvoie une erreur fatale.

Dolibarr 16 n’est pas donc pas compatible avec php 8