web-dev-qa-db-fra.com

Composer Avertissement: L'extension openssl est manquante. Comment activer dans WAMP

Essayer d'installer Composer outil de gestion des dépendances 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, activez-le ou recompilez php avec --with-openssl

Alors voici ce que j'ai fait ...

  1. Dans l'icône de mon wamp dans la barre des tâches, cliquez sur php > php extensions > php_openssl
  2. Cela montrait que cette tâche était accomplie 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 des tâches, j’ai cliqué sur php > php.ini et recherché OpenSL pour vérifier qu’il n’était PAS commenté. Ce n'était pas.
  5. Je suis ensuite retourné à Composer-Setup.exe et 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 vers l'un de mes sites locaux à l'aide de https. Ça a échoué.

Qu'est-ce que je rate?

S'il vous plaît donnez votre avis.

131
sleeper

WAMP utilise différents fichiers php.ini dans la CLI et pour Apache. Lorsque vous activez php_openssl via l'interface utilisateur de 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.

316
Valery I.

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

Il est possible que cette ligne ne soit déjà pas commentée dans des packages tels que WAMP et XAMPP, mais il ne s’agit pas simplement d’un téléchargement PHP pour Windows, il est donc intéressant de la vérifier. Vous devez également créer le fichier php.ini en copiant l'un des exemples, tel que php.ini-development dans un nouveau fichier, puis nommez-le php.ini. Ensuite, apportez ces modifications là.

De plus, à l'avenir, pour installer des outils tels que PHP et Composer, je vous recommande d'utiliser le gestionnaire de packages Chocolatey. Alors c'est aussi simple que choco install composer. Bien sûr, vous aurez toujours besoin de modifier 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-get se trouve dans Ubuntu. Temps passionnants à venir pour les développeurs!

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

26
Scott Pigeon

J'ai eu le même problème même si openssl était activé. Le problème était que l'installateur Composer examinait ce fichier de configuration:

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

Mais le fichier de configuration chargé est en réalité ici:

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

Donc, je devais juste le décommenter dans le premier fichier php.ini et ça a fait l'affaire. Voici comment WAMP a été installé sur ma machine par défaut. Je ne suis pas allé changer quoi que ce soit, donc cela va probablement arriver aussi aux autres. Ceci est fondamentalement le même que la réponse d'Augie Gardner ci-dessus, mais je voulais juste souligner que vous pourriez avoir deux fichiers php.ini.

16
regularmike

décommenter ;extension=php_openssl.dll dans les deux

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

ça va marcher

12
vuhung3990

C:\laravel-master> composeur 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 pouvoir 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 configuration du fichier PHP.ini dans un bloc-notes, recherche-recherche ou CTRL+F dans le bloc-notes pour le mot OPENSSL vous trouverez ce ;extension=php_openssl.dll il suffit de supprimer le; et le extension=php_openssl.dll est actif.

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

5
voltronluis

ouvert wamp/bin/Apache/apache2.4.4/bin/configuration php .. wamp/bin/php/php5.4.16/paramètres de configuration php, production php-ini, développement php-ini, phpForApache find extension = php_openssl .dll et décommenter en supprimant ;

2
Njoroge Mathu

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

enlever 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 Bloc-notes, cliquez avec le bouton droit sur le bloc-notes, cliquez sur "Exécuter en tant qu'administrateur".

dans la fenêtre d'installation composer, il suffit de cliquer en arrière puis ensuite (ou de la fermer et de recommencer) et cela devrait fonctionner

2
Zemba Albert

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

2
Alex Pliutau

Oui, vous devez avoir à ouvrir php.ini et enlever le point-virgule pour:

;extension=php_openssl.dll

retirer le ";" comme ça et ça va marcher.

extension=php_openssl.dll

Bonne codage.

1
Sujeet Kumar

Court et doux, décommentez cette ligne dans wamp/bin/php/php5.3.13 (ou toute version php):
;extension=php_openssl.dll (retirez le ;)
Maintenant, lancez l’installation en ligne de commande de Composer. Vous n'aurez pas d'erreur.
Bien aller!

1
Augie Gardner

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

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

ou

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

Ceci est relatif au serveur Web Apache httpd.exe (C:\myStack\Apache\bin). Mais si vous voulez que cela fonctionne avec Composer ou tout ce dont vous avez besoin, chemin physique parce que le mode client n'utilise pas le serveur web!

0
François Breton

Pour installer Composer ci-dessous, les étapes suivantes ont fonctionné: (version WAMP 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
0
satch_boogie

Je faisais face au même problème. J'ai renommé mon dossier php de php7_winxxxx en php uniquement 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 aussi ajouter c:/php à la variable PATH in

0
Tushortz