- Ymox,
Bonjour à tous !
Cette fois-ci, je change de catégorie, même si c’est plus ou moins lié au développement web.
Suite à une mise à jour de dépendances sur le projet qui m’occupe, je constate un comportement très surprenant sur au moins trois versions de PHP.
Le projet a pour (nouvelle) dépendance l’extension PHP Sockets. Pas de souci à l’installation, Composer ne bute pas sur le fait que l’extension n’est pas activée pour PHP. Tant mieux.
Mais quand Composer tente de lancer les scripts post-installation (notamment le nettoyage du cache de Symfony), il me signale une constante non définie. Surprise : cette constante est SOCKET_EAGAIN
, constante qui, si j’en crois la documentation, fait partie de l’extension. Or, celle-ci est bien chargée par PHP : php -r "var_dump(extension_loaded('sockets'));"
m’affiche bien bool(true)
.
Force est de constater que php -r "var_dump(defined('SOCKET_EAGAIN'));"
affiche cependant bool(false)
.
Même cas avec PHP pour Apache, même version (7.1.23). J’ai du coup tenté de voir si c’était simplement celle-ci qui posait problème, et je suis descendu à PHP 7.0.32, même constat. Ah, PHP 7.2.24 est sorti… mais ça ne change rien.
Est-ce que quelqu’un a déjà eu le cas, et si oui, j’ose demander comment le souci a été résolu ?
Merci d’avance
Edit
Bon, apparemment la constante n’existe pas sous Windows, ce serait donc normal. Un des contributeurs sur la dépendance a fusionné une PR il y a environ 5 heures, au moins je peux faire la correction en local avant que la nouvelle version ne soit publiée.