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
Cette discussion me permet de comprendre qu'il me faudra ré-installer Adminer 5.3.0 après l'upgrade 3.3.8 Mais j'ai rencontré un souci proche, qui semble se généraliser à tous les Addons.
En voulant installer l'udate_xdebug_dll_3.4.3 (puisqu'avec l'update 3.3.8 j'ai aussi rajouté php8.3.21), à l'étape "Préparation de l'installation" j'ai désormais le message :
X Le dossier d'installation choisi n'est pas celui de WampServer version 3. Choisir le dossier d'installation de WampServer 3
PS j'avais vérifié les DLL par check_vcredist (bien m'en a pris !), effectuée la mise a jour, et redemarré le PC W11 (21h2)
Cette discussion me permet de comprendre qu'il me faudra ré-installer Adminer 5.3.0 après l'upgrade 3.3.8 Mais j'ai rencontré un souci proche, qui semble se généraliser à tous les Addons.
En voulant installer l'udate_xdebug_dll_3.4.3 (puisqu'avec l'update 3.3.8 j'ai aussi rajouté php8.3.21), à l'étape "Préparation de l'installation" j'ai désormais le message :
X Le dossier d'installation choisi n'est pas celui de WampServer version 3. Choisir le dossier d'installation de WampServer 3
PS j'avais vérifié les DLL par check_vcredist (bien m'en a pris !), effectuée la mise a jour, et redemarré le PC W11 (21h2)
Compléments (je n'avais pas poussé assez loin /excusez-moi) :
J'ai lu ce fil car j'avais initialement en 3.3.7 un message analogue : mbstrtolower() inconnue....
Et finalement, après un démarrage erroné de WampServer, un nouveau démarrage forcé de WampServer en mode Administrateur (je travaille pourtant connecté en Admin), m'a bien démarré LocalHost, et l'installation de Update xdebug 3.4.3 s'est alors effectuée correctement. Bravo et merci pour les réponses...
> Le dossier d'installation choisi n'est pas celui de WampServer version 3. Les quatre fichiers : - wampmanager.tpl - wampmanager.ini - wampmanager.conf - wampmanager.exe doivent exister dans le dossier d'installation.