J'ai effectué la mise à jour de WampServer 3.3.7 vers 3.3.8 et depuis, localhost est inaccessible. Dans le fichier php_error.log, le message suivant apparaît:
PHP Fatal error: Uncaught Error: Call to undefined function str_contains() in (...)\WampServer\scripts\wampserver.lib.php:1498 Stack trace: #0 (...)\WampServer\scripts\wampserver.lib.php(853): GetAliasVersions() #1 (...)\WampServer\scripts\wampserver.lib.php(1700): check_virtualhost() #2 (...)\WampServer\www\index.php(181): GetPhpVersionsUsage() #3 {main} thrown in (...)\WampServer\scripts\wampserver.lib.php on line 1498
Si je commente la ligne 1498 dans wampserver.lib.php, l'erreur n'apparaît plus dans le log et localhost est de nouveau accessible! Voici la ligne en question: if(str_contains($version, 'adminer')) continue;
J'ai installé la version complète de WampServer 3.3.5 il y a plusieurs mois, ai fait les mises à jour 3.3.6 et 3.3.7 sans problème par le passé, mais cette erreur survient avec la version 3.3.8.
Auriez-vous une idée de la cause de celle-ci?
Tout semble bien fonctionner même si la ligne 1498 est commentée, mais ce n'est sûrement pas la meilleure des solutions!
La mise à jour 3.3.8 fait évoluer la version PHP utilisée par Wampserver vers la version 8.2.28 ce qui, dans votre cas, ne semble pas avoir été effectué.
Avez-vous bien lancé cette mise à jour "en tant qu'administrateur" ?
Vous pouvez relancer cette mise à jour "en tant qu'administrateur".
Merci pour ce retour. J'ai bien relancé la mise à jour "en tant qu'administrateur", mais le problème demeure.
Dans mon fichier log, le message d'erreur est par contre différent:
[07-May-2025 07:19:56 America/New_York] PHP Warning: Undefined array key "phpmyadmin" in (...)\WampServer\scripts\refresh.php on line 1646 [07-May-2025 07:19:56 America/New_York] PHP Warning: Trying to access array offset on value of type null in (...)\WampServer\scripts\refresh.php on line 1646 [07-May-2025 07:20:26 America/New_York] PHP Fatal error: Uncaught Error: Call to undefined function str_contains() in (...)\WampServer\scripts\wampserver.lib.php:1498 Stack trace: #0 (...)\WampServer\scripts\wampserver.lib.php(853): GetAliasVersions() #1 (...)\WampServer\scripts\wampserver.lib.php(1700): check_virtualhost() #2 (...)\WampServer\www\index.php(181): GetPhpVersionsUsage() #3 {main} thrown in (...)\WampServer\scripts\wampserver.lib.php on line 1498
J'ai remarqué qu'après la relance de la mise à jour, le fichier "refresh.php" avait été modifié, à la ligne 1642. Ligne originale: if(!str_contains($value,'adminer') && version_compare($Alias_Contents[$value]['version'],'5.2.1','>')) { Après la mise à jour: if(version_compare($Alias_Contents[$value]['version'],'5.2.1','>')) {
Dans le dossier "apps", phpmyadmin est ainsi nommé: phpmyadmin5.2.2 Dans le dossier "alias", son fichier correspondant est ainsi nommé: phpmyadmin5.2.2.conf
> Uncaught Error: Call to undefined function str_contains()
Cette fonction a été introduite avec PHP 8. C'est pourquoi la mise à jour 3.3.8 installe aussi PHP 8.2.28 (si pas déjà installé) et fait passer la version PHP utilisée par Wampserver en 8.2.28.
Dans le fichier wampserver.conf, quelle est la valeur de phpWampVersion=
C'était effectivement ça, le problème. Merci beaucoup!
Maintenant, en ce qui concerne ce warning dans le log de php, avez-vous une idée de sa source? Ce message apparaît uniquement depuis la dernière mise à jour:
[07-May-2025 15:08:01 America/New_York] PHP Warning: Undefined array key "phpmyadmin" in (...)\WampServer\scripts\refresh.php on line 1646 [07-May-2025 15:08:01 America/New_York] PHP Warning: Trying to access array offset on value of type null in (...)\WampServer\scripts\refresh.php on line 1646
Si j'utilise plutôt la version antérieure de la ligne 1646 (indiquée dans mon message précédent), l'avertissement n'apparaît plus...
À noter que j'utilise Adminer 5.3.0. Nom du dossier dans "apps": adminer5.3.0 Nom du fichier dans "alias": adminer.conf