PHP 7.2.2 impossible de charger le module openssl

Eléphant du PHP | 65 Messages

22 févr. 2018, 13:07

Bonjour à tous,
Depuis mon passage de PHP 7.1 vers 7.2.2 il m'est impossible de charger le module openssl (et cela même si je mets un chemin absolu). J'ai remarqué qu'ils ont (encore...) modifié la manière dont on doit charger les modules, maintenant il ne faut plus mettre "php_" devant le nom du module ni préciser son extension. Sauf qu'Apache me dit qu'il ne trouve pas le fichier alors qu'il test bien l'emplacement.
Note : je n'ai aucun problème pour charger les autres extensions, pas de problèmes non plus pour charger xdebug.

Dans mon php.ini :
extension=openssl
(il faut savoir que j'ai essayé également toutes sortes de combinaisons : extension=openssl.dll, extension="e:/php/ext/php_openssl.dll", extension="e:\php\ext\php_openssl.dll", extension="e:\\php\\ext\\php_openssl.dll", etc.)

Les logs apache :
PHP Warning: PHP Startup: Unable to load dynamic library 'openssl' (tried: e:\\php\\ext\\openssl (Le module spécifié est introuvable.), e:\\php\\ext\\php_openssl.dll (Le module spécifié est introuvable.)) in Unknown on line 0

Il ne trouve pas le fichier alors qu'il est bien à l'emplacement qu'il test.
Bug ?

Edit pour les devs de PHP si jamais il y en a un qui passe par là puisqu'on ne peut jamais trouver un responsable : ce nouveau système est pourri, on n'y comprend plus rien, je ne comprends pas pourquoi vous touchez à un truc qui marchait, qui était cohérent et qui ne dérangeait personne pour en faire quelque chose qui fonctionne mal, qui est opaque et incohérent.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

22 févr. 2018, 15:58

:arrow: Avant d'accuser l'équipe de dev, un minimum de remise en question et d'humilité de ta part serait les bienvenues.

J'ai remarqué qu'ils ont (encore...) modifié la manière dont on doit charger les modules
Quand était-ce la dernière fois que le chargement de modules a changé ?

:!: Depuis PHP 3.0 sorti il y a 18 ans, c'est toujours les mêmes directives !
extension_dir= pour le répertoire où sont les modules, et extension= pour les modules...


Et RTFM c'est pas mal aussi : http://php.net/manual/fr/install.pecl.w ... ws.loading
Sauf qu'Apache me dit qu'il ne trouve pas le fichier alors qu'il test bien l'emplacement.
Donc tu es face à une erreur Apache...

:?: Tu as bien mis ton Apache à jour, et vérifié ta version d'openssl ?

Edit pour les devs de PHP si jamais il y en a un qui passe par là puisqu'on ne peut jamais trouver un responsable
Pfffff... n'importe quoi... #-o

C'est surtout parce que tu ne te donnes pas la peine de chercher, ni même de lire la doc.

Le code source de PHP est disponible publiquement sur Github donc tu peux voir toutes les modifs avec leur diff et la personne qui a fait la modif.
Toutes les demandes d'évolutions font l'objet de RFC publiques, puis discutées publiquement et enfin votées publiquement.
Il y a des mailing-lists publiques pour suivre les évolutions.

L'évolution que tu décries est celle-ci : https://wiki.php.net/rfc/load-ext-by-name
ce nouveau système est pourri, on n'y comprend plus rien, je ne comprends pas pourquoi vous touchez à un truc qui marchait, qui était cohérent et qui ne dérangeait personne pour en faire quelque chose qui fonctionne mal, qui est opaque et incohérent.
Le "nouveau" système de chargement des extensions est totalement compatible avec l'ancien, donc rien n'a changé.

:arrow: En revanche quand tu fais une mise à jour, si tu ne fais que la moitié des mises à jour sans vérifier la compatibilité alors effectivement ça peut poser des problèmes. :-$
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 65 Messages

22 févr. 2018, 18:44

Désolé, j'étais un peu sur les nerfs ce matin car j'ai perdu plus d'une heure à cause de ça. Par "encore" je ne visais pas cette directive en particulier, j'entendais par là qu'il y a souvent des changements mineurs d'une version à l'autre qui me posent souvent problème. Je vais pas me prendre plus la tête avec ça, je vais mettre une ancienne version à la place.