Avertissement du compositeur: l'extension openssl est manquante. Comment activer dans WAMP

132

Tentative d'installation de l' outil de gestion des dépendances Composer sur Win7 / 64 + WampServer 2.2 via le programme d' installation et je reçois le message suivant:

L'extension openssl est manquante, ce qui réduira la sécurité et la stabilité de Composer. Si possible, vous devez l'activer ou recompiler php avec --with-openssl

Alors voici ce que j'ai fait ...

  1. À partir de mon icône Wamp dans le bac, cliqué php > php extensions > php_openssl
  2. Cela montrait que la tâche était terminée en plaçant une coche à côté de l'extension
  3. J'ai ensuite redémarré WampServer
  4. Ensuite, à partir de l'icône Wamp dans la barre d'état, j'ai cliqué php > php.iniet recherché openssl pour vérifier qu'il n'était PAS commenté. Ce n'était pas.
  5. Je suis ensuite retourné à Composer-Setup.exe et j'ai réessayé. Même message d'avertissement : "L'extension openssl est manquante"
  6. N'ayant jamais travaillé avec OpenSSL, je ne suis pas sûr de ce qui est censé être défini, j'ai donc essayé de naviguer sur l'un de mes sites locaux en utilisant https. Ça a échoué.

Qu'est-ce que je rate?

S'il vous plaît donnez votre avis.

dormeur
la source
Sensationnel. Je suis juste allé sur Google pour essayer d'obtenir plus d'informations et ce message est apparu dans les résultats de recherche. Déjà? Merde, c'était rapide. : -}
dormeur
Avez-vous redémarré le serveur Web?
periklis
oui, j'ai redémarré le serveur.
dormeur du
Je ne sais pas à quel point vous essayez d'obtenir avec SSL, mais cela peut aider: phpjoel.com/2011/04/07/… . Si cela ne vous aide pas, vous pouvez toujours essayer la bonne vieille méthode de réinstallation de dépannage après avoir sauvegardé votre base de données et vos fichiers.
Cameeob2003
Je viens de mettre à jour ma version sur WampServer vers la dernière. Même message. J'ai juste continué avec l'installation. Jusqu'à présent, aucune erreur notable. Bizarre.
dormeur

Réponses:

316

WAMP utilise différents fichiers php.ini dans la CLI et pour Apache. lorsque vous activez php_openssl via l'interface utilisateur WAMP, vous l'activez pour Apache, pas pour la CLI. Vous devez modifier C: \ wamp \ bin \ php \ php-5.4.3 \ php.ini pour l'activer pour la CLI.

Valery I.
la source
2
tu as sauvé mon amour que je ressens pour laravel ... pourquoi diable n'ont-ils pas quitté l'installation comme c'était dans l'ancienne version :)
Tom
1
diable laravel m'a amené ici
tomexsans
1
J'utilise uwamp où puis-je trouver le fichier ini.
Sujeet Kumar le
La réponse fonctionne également pour EasyPHP (cliquez avec le bouton droit sur l'icône EasyPHP de la barre d'état système, sélectionnez Configuration | PHP, qui ouvre php.ini dans le Bloc-notes, recherchez openssl, décommentez la ligne)
stifin
que dois-je faire pour xampp? .. J'ai eu l'erreur comme si ce message n'a pas pu être envoyé. Erreur d'envoi: Extension manquante: openssl ,,,
pcs
27

En plus de décommenter la ;extension=php_openssl.dllligne php.inique tout le monde a mentionnée, vous devez également vous assurer que la ;extension_dir = "ext"ligne n'est pas commentée. Pour décommenter, supprimez le point-virgule préfixé et enregistrez.

Cette ligne est peut-être déjà décommentée dans des packages tels que WAMP et XAMPP, mais ce n'est pas dans un simple téléchargement PHP pour Windows, donc cela vaut la peine d'être vérifié. De plus, vous devez créer le php.inifichier en copiant l'un des exemples, comme php.ini-developmentdans un nouveau fichier, puis le nommer php.ini. Ensuite, apportez ces modifications là-bas.

De plus, à l'avenir, pour installer des outils tels que PHP et Composer, je recommande d'utiliser le gestionnaire de paquets Chocolatey. Ensuite, c'est aussi simple que choco install composer. Bien sûr, vous devrez toujours éditer php.ini avant d'installer Composer avec la méthode choco. Dans les futures versions de Windows, des outils de gestion de paquets comme Chocolatey seront intégrés à Windows , de la même manière que apt-getdans Ubuntu. Des temps passionnants à venir pour les développeurs!

Quelle que soit la méthode, après avoir installé Composer, n'oubliez pas de redémarrer votre terminal. Que vous utilisiez l'invite de commande, Bash (installe avec Git) ou Powershell, vous devrez le redémarrer avant que les variables d'environnement mises à jour ne fonctionnent.

Scott Pigeon
la source
4
Ceci est la réponse correcte si vous essayez d'installer le compositeur sur Windows 10et ont suivi ce guide
robped
Absolument .. C'est vrai .. Je le savais, mais j'ai oublié cette extligne sous Windows. Merci pour le rappel.
WM
16

J'ai eu le même problème même si openssl était activé. Le problème était que le programme d'installation de Composer recherchait ce fichier de configuration:

C: \ wamp \ bin \ php \ php5.4.3 \ php.ini

Mais le fichier de configuration chargé est en fait ici:

C: \ wamp \ bin \ apache \ apache2.2.22 \ bin \ php.ini

Je devais donc le décommenter dans le premier fichier php.ini et cela a fait l'affaire. C'est ainsi que WAMP a été installé sur ma machine par défaut. Je n'ai rien changé, donc cela arrivera probablement à d'autres aussi. C'est fondamentalement la même chose que la réponse d'Augie Gardner ci-dessus, mais je voulais juste souligner que vous pourriez avoir deux fichiers php.ini.

régulier
la source
Le chemin par défaut donné lors de l'installation était incorrect, pointant vers le correct php.exe a résolu le problème, merci.
Sandesh Damkondwar
12

décommenter ;extension=php_openssl.dlldans les deux

wamp\bin\php\php5.4.12\php.ini
wamp\bin\apache\Apache2.4.4\bin\php.ini

ça va marcher

vuhung3990
la source
J'utilise xampp .. donc j'ai édité 2 fichiers nommés, c / php / php.ini et c / apache / bin / php.ini .. supprimé le point-virgule dans ce; extension = php_openssl.dll .. mais reste toujours la même erreur comme cette erreur de messagerie: Extension manquante: openssl ..
pcs
@saina avez-vous redémarré votre serveur? Exécutez également phpinfo () pour vérifier où se trouve le fichier de configuration.
Ivanka Todorova
5

C: \ laravel-master> composer create-project laravel / laravel Installation de laravel / laravel (v4.0.6) - Installation de laravel / laravel (v4.0.6) [RuntimeException] Vous devez activer l'extension openssl pour télécharger des fichiers via https

J'utilise EasyPhp (type WAMP). Dans l'icône EasyPHP de la barre des tâches, cliquez avec le bouton droit de la souris et sélectionnez la configuration puis sélectionnez PHP. Je vais ouvrir la PHP.iniconfiguration du fichier dans un bloc-notes, rechercher-trouver ou CTRL+ F dans le bloc-notes pour le mot que OPENSSLvous trouverez, ;extension=php_openssl.dllsupprimez simplement le; et le extension=php_openssl.dllest actif.

C: \ laravel-master> composer create-project laravel / laravel Installation de laravel / laravel (v4.0.6) - Installation de laravel / laravel (v4.0.6) Téléchargement: Projet créé à 100% dans C: \ laravel-master \ laravel Chargement du compositeur référentiels avec informations sur les packages Installation des dépendances (y compris require-dev)

voltronluis
la source
Je sais que c'est hors sujet, mais comment vous avez installé composer avec EasyPhp, je reçois seulement des erreurs et je dois tout réinstaller.
HenryW
2

vous devez modifier la recherche de fichier "c: \ Program Files \ wamp \ bin \ php \ php5.3.13 \ php.ini" pour:; extension = php_openssl.dll

supprimer le point-virgule au début

Remarque: si l'enregistrement du fichier ne fonctionne pas, vous devez le modifier en tant qu'administrateur. (sur win7) allez dans le menu démarrer, recherchez le bloc-notes, faites un clic droit sur le bloc-notes, cliquez sur "Exécuter en tant qu'administrateur"

dans les fenêtres d'installation du compositeur, cliquez simplement sur retour puis sur suivant (ou fermez-le et recommencez) et cela devrait fonctionner

Zemba Albert
la source
2

ouvert wamp / bin / apache / apache2.4.4 / bin / php config .. wamp / bin / php / php5.4.16 / php conf settings, php-ini production, php-ini dev, phpForApache find extension = php_openssl.dll et décommenter en supprimant ;

Njoroge Mathu
la source
duplication possible de stackoverflow.com/questions/14062055/…
blackmind
1

Bref, décommentez cette ligne dans wamp/bin/php/php5.3.13(ou quelle que soit la version de php):
;extension=php_openssl.dll (supprimez le ;)
Exécutez maintenant l'installation en ligne de commande de Composer. Vous n'aurez pas d'erreur.
Bon à faire!

Augie Gardner
la source
1

Vous devriez créer un lien symbolique vers php.ini. Désolé pour le lien russe .

Alex Pliutau
la source
1

Oui, vous devez ouvrir php.ini et supprimer le point-virgule pour:

;extension=php_openssl.dll

retirer le ";" comme ça et ça fonctionnera.

extension=php_openssl.dll

Codage heureux.

Sujeet Kumar
la source
0

Pour installer Composer ci-dessous les étapes m'ont fonctionné: (WAMP version 2.4 x64bit)

edit ->
**C:\wamp\bin\php\php5.4.12\php.ini**
;;uncomment below line or remove the semicolons ';'
extension=php_openssl.dll

**C:\wamp\bin\apache\Apache2.4.4\bin\php.ini**

extension=php_openssl.dll
satch_boogie
la source
0

Toutes ces réponses sont bonnes, mais en fait, si vous voulez comprendre, le répertoire d'extension doit être correct si vous voulez que toutes vos extensions non commentées fonctionnent. Peut écrire un chemin physique ou relatif comme

extension_dir = "C:/myStack/php/ext"

ou

extension_dir = "../../php/ext"

C'est relatif au serveur Web Apache httpd.exe (C: \ myStack \ apache \ bin) Mais si vous voulez qu'il fonctionne avec Composer ou quoi que ce soit, vous avez besoin du chemin physique car le mode cli n'utilise pas le serveur Web!

François Breton
la source
0

J'étais confronté au même problème. J'ai renommé mon dossier php de php7_winxxxxà juste php et cela a bien fonctionné. Il semblait que composer vérifiait l'emplacement du module php_openssl dans c:/php/ext.

Vous devrez peut-être également ajouter c:/phpà la PATHvariable d'environnement in

Tushortz
la source