Comment activer l'extension OpenSL de PHP pour installer Composer?

113

J'essaye d'installer Laravel dans la configuration WAMP. Je reçois un message d'avertissement pour ne pas activer openssl, ce que j'avais déjà fait dans WAMP.

Voici une capture d'écran du message.

entrez la description de l'image ici

FirmView
la source
1
Vérifiez le chemin de PHP dans la variable d'environnement %PATH%, peut-être que Composer recherche PHP dans un autre emplacement au lieu de WampServer.
Rubens Mariuzzo
J'ai eu le même problème. J'étais en train de modifier le php.ini à partir de l'icône wamp. Mais je l'ai fait manuellement, j'ai redémarré mon serveur et cela fonctionne.
themhz

Réponses:

121

Il est possible que WAMP et Composer utilisent des installations PHP différentes. Composer utilisera l'ensemble PHP dans la PATHvariable d'environnement.

Si vous souhaitez activer l' extension openssl pour installer Composer , vous devez d'abord vérifier l'emplacement de l'installation PHP.

  1. Ouvrez une invite de commande, tapez: echo %PATH%puis vérifiez l'emplacement de votre installation PHP.
  2. Allez à cet endroit et éditer le fichier nommé: php.ini.
  3. Décommentez la ligne extension=php_openssl.dllen supprimant le point-virgule au début.

Vous êtes maintenant prêt à installer Composer.

Rubens Mariuzzo
la source
2
Il se trouve que je n'ai pas cette extension sur mon installation XAMPP. Je viens d'ajouter (extension = php_openssl.dll) sur le php.ini et cela fonctionne en téléchargeant les dépendances laravel.
Adrian P.
8
quand je tape echo %PATH%j'obtiens: C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\Sysem32\WindowsPowerShell\v1.0\;C:\Program files\Microsoft\Web Platform Installer\;C:\Program Files\MySQL\MySQL Server 5.5\bin.. il n'y a aucun php installé dans aucun de ces répertoires .. que dois-je faire maintenant?
abbood
19
wamp utilise ce php.ini: c: \ wamp \ bin \ apache \ Apache2.4.4 \ bin \ php.ini mais composer utilise PHP depuis CLI, et donc il lit ce fichier: c: \ wamp \ bin \ php \ php5.4.12 \ php.ini (vous devez donc activer openssl ici)
Enrique
2
J'utilise xampp, le compositeur donne la même erreur manquante ssl ouverte même après avoir supprimé le ';' de l'extension openssl dans php.ini.
Shashikumar Misal
30
Je devais aussi décommenter la ligne extension_dir = "ext"en php.ini, mais j'utilise l'installation de PHP simple au lieu de WAMP.
David Harkness
62

J'ai résolu mon problème d'une manière différente. Le problème est que l'interface graphique de wamp était trompeuse: elle prétendait que j'avais php_opensslactivé ... et si je cliquais php.inisur la même interface graphique ... elle montrait en fait qu'elle extension=php_openssl.dlln'était pas commentée ...

Je ne sais pas si j'utilise la même version du programme d'installation du compositeur de l'OP, mais il vous demande en fait au début de spécifier le sur php.exelequel vous souhaitez appliquer le compositeur (ce qui garantit essentiellement que personne n'essaye d'appliquer le compositeur à le mauvais exécutable php comme ce qui s'est passé avec l'OP) ..

La façon dont j'ai résolu ce problème était de me lancer moi-même dans l'installation de php dans le paquet wamp: C:\wamp\bin\php\php5.4.12et d' php.iny regarder ... quand je l'ai ouvert, j'ai été choqué que la ligne ait extension=php_openssl.dllété réellement commentée! Je l'ai décommenté et cela a très bien fonctionné.

entrez la description de l'image ici

abbood
la source
Merci après avoir regardé cette réponse, j'ai compris que wamp utilisait 5.5.12 mais j'ai sélectionné le répertoire 5.4 pour php.exe
Afnan Bashir
Dans quel chemin les fichiers libeay32.dllou liblibcrypto-*.dllrésident-ils? php.net/manual/de/openssl.installation.php
Bernhard Döbler
53

J'ai eu le même problème et voici la solution que j'ai trouvée, sur votre php.ini vous devez faire quelques changements:

  1. extension_dir = "ext"
  2. extension = php_openssl.dll

Tout le monde ici parle de l'extension openssl active, mais dans Windows, vous devez également activer l'extension dir.

Francisco Cabral
la source
3
Les hommes vous êtes le seul à avoir mentionné le extension_dir, vous êtes géniaux!
giannis christofakis
Cela a fonctionné pour moi. J'avais téléchargé PHP directement comme dans ce turtorial .
volé
26

Pour le serveur WAMP, le commentaire donné par "Enrique" a résolu mon problème.

wamp utilise ce php.ini :

c:\wamp\bin\apache\Apache2.4.4\bin\php.ini

Mais composer utilise PHP de CLI, et donc il lit ce fichier:

c:\wamp\bin\php\php5.4.12\php.ini (so you need to enable openssl there)

Pour le compositeur, vous devrez activer l'extension dans

c:\wamp\bin\php\php5.4.12\php.ini

Changement:

;extension=php_openssl.dll 

à

extension=php_openssl.dll
user3887814
la source
Pour MAMP, j'ai dû copier le fichier php.ini de C: \ MAMP \ conf \ phpx.xx vers C: \ MAMP \ bin \ php \ phpx.xx (\ conf \ .... vers \ bin \ .. .)
Mike le
15

Si vous faites cela sous Windows sans l' une des piles WAMP, voici comment procéder

  1. Téléchargez une installation de PHP pour Windows . En général, vous voudrez une installation non thread-safe. Vous pouvez utiliser des versions 32 bits ou 64 bits
  2. Extrayez le fichier zip quelque part. Je suggérerais C:\php. L'installateur du compositeur l'a trouvé là-bas sans aucune demande supplémentaire
  3. Les dernières versions de PHP pour Windows ne sont pas fournies php.inipar défaut avec un . Au lieu de cela, vous verrez deux fichiers, comme indiqué ci-dessous. Renommez-en un php.iniou copiez-le dans php.ini.
    • développement php.ini
    • php.ini-production
  4. Ouvrez votre php.inifichier et supprimez le point-virgule de cette ligne (vous voudrez peut-être également décommenter d'autres choses, mais cette ligne est la seule nécessaire pour Composer)

    ;extension=php_openssl.dll

Cela devrait être tout ce que vous devez faire. Le programme d'installation de Composer doit faire tout ce dont vous avez besoin à partir d'ici.

Machavity
la source
2
C'est le SEUL endroit en ligne avec la solution correcte (pour une configuration non-WAMP). Merci!
adamdehaven
11

Vous devez activer "extension = php_openssl.dll" dans les deux fichiers (php et apache). mon chemin de fichiers pc sont les suivants:

  1. C: \ wamp \ bin \ php \ php5.3.13 \ php.ini
  2. C: \ wamp \ bin \ apache \ apache2.2.22 \ bin \ php.ini
Mohammed Saqib Rajput
la source
8

C'est une vieille question mais j'ai juste eu le même problème (avec PHP7) et la solution était, au final, assez simple. Ne pas commenter la ligne php.iniselon les autres réponses n'était pas tout à fait suffisant. J'avais besoin de le changer de:

;extension=php_openssl.dll

à:

extension=ext/php_openssl.dll

Notez le extpréfixe. La dll existait déjà mais se trouvait dans un sous-dossier. Après avoir changé la configuration, l'installateur du compositeur était satisfait.

K Cartlidge
la source
7

vous devez activer l'extension openssl dans

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

c'est-à-dire que le fichier de configuration php qui a ce type a des "paramètres de configuration" avec un bloc-notes de pilote comme l'icône.

  1. ouvrez-le soit avec le bloc-notes ou n'importe quel éditeur,
  2. rechercher openssl "votre ctrl + F" ferait l'affaire.
  3. il y a un point-virgule avant l'extension openssl

    ;extension=php_openssl.dll

    supprimez le point-virgule et vous aurez

    extension=php_openssl.dll
  4. enregistrez le fichier et redémarrez votre serveur WAMP après cela, vous êtes prêt à partir. réinstallez à nouveau l'application qui devrait fonctionner.
DLoneDeveloper
la source
6

Il existe deux php.inifichiers, un pour le développement et un pour la production. Laissez-les, il y a un autre php.inifichier pour les paramètres de configuration juste au-dessus d'eux avec un engrenage comme une icône de modification.

Keneth
la source
Sinon, le mien n'avait pas de valeur par défaut. Copiez / collez simplement le produit prod / dev et renommez-le php.ini, puis effectuez les modifications que d'autres ont suggérées ici.
Brynn Bateman
3

Après avoir édité les "bons" fichiers (tous php.ini). j'avais toujours le problème. Ma solution était:

  1. Ajout d'une variable système: OPENSSL_CONF

    la valeur de OPENSSL_CONF doit être le fichier openssl.cnf de votre version php actuelle.

pour moi c'était:

  • C: \ wamp \ bin \ php \ php5.6.12 \ extras \ ssl \ openssl.cnf

-> Redémarrez WAMP -> devrait fonctionner maintenant

Source: http://php.net/manual/en/openssl.installation.php

Mafu
la source
2

J'ai rencontré le même problème, mais quand je cherchais php.ini et php.exe, j'ai trouvé php.exe à C: \ UwAmp \ bin \ php \ php-5.4.15 lorsque php.ini à C: \ UwAmp \ bin \ apache. Je viens de copier php.ini sur C: \ UwAmp \ bin \ php \ php-5.4.15 et décommenter l'extension de ligne = php_openssl.dll et cela a été corrigé.

M. K Hossain
la source
2

J'utilise le serveur WAMP. En fait, ses fichiers ont montré que openssl est ouvert. Mais manuellement, je suis allé dans le dossier et je l'ai modifié php.ini. Ensuite, j'ai trouvé qu'il n'avait pas ouvert openssl.Je l'ai décommenté et cela a fonctionné après le redémarrage de WAMP.

tharanga
la source
2

C: \ wamp \ bin \ php \ php5.3.13

Accédez à la ligne qui lit:

;extension=php_openssl.dll

et supprimez le point-virgule précédant la ligne. Redémarrez les services de votre serveur WAMP (cliquez dans la barre d'icônes> 'Redémarrer tous les services'

Yathavan
la source
1

Si vous ne parvenez toujours pas à résoudre votre problème, jetez un œil à ceci. C'est peut-être la solution que vous recherchez

Il existe plusieurs fichiers php.ini dans le dossier C: \ wamp \ bin \ php \ php xyz. Vous pouvez trouver des fichiers de production, de développement et d'autres fichiers php.ini. Pas question d'éditer les fichiers de production et de développement. Trouvez le fichier qui est exactement le même que l'image ci-dessous. (Vous pouvez le trouver. Tapez simplement php.ini dans votre barre de recherche et faites une recherche). Ouvrez le fichier et supprimez-le; à partir de l'extension = php_openssl.dll. Enregistrez le fichier et fermez-le. Redémarrez tous les services sur le serveur Wampp. Réinstallez votre compositeur.

C'est ça.

entrez la description de l'image ici

gihanmu
la source
1

Wamp fonctionne avec un autre php.ini qui se trouve dans C: \ wamp \ bin \ apache \ Apache2.4.4 \ bin \ php.ini. Vous devez donc trouver manuellement le fichier correct, c'est-à-dire dans C: \ wamp \ bin \ php \ php5.4.12 \ php.ini. Décommentez la ligne extension = php_openssl.dll et essayez simplement d'installer à nouveau Composer.

Dreyfi
la source
1

Pour ceux qui ont le même problème que moi. Après avoir fait toutes les solutions ci-dessus, cela ne fonctionnait toujours pas pour moi. J'ai découvert que uWamp créait le fichier PHP.INI dans le répertoire bin / apache. J'ai donc dû copier le fichier PHP.INI dans le répertoire d'installation de php, c'est-à-dire le répertoire bin / php / phpXXXX. Cela devrait également être l'emplacement du php.exe que vous avez sélectionné dans la configuration du composeur.

J'espère que cela t'aides.

Nitro Chummy
la source
1

Si vous avez compilé à partir des sources, l'ajout extension=php_openssl.dllau fichier php.ini peut ne pas fonctionner .

Pour résoudre ce problème, ouvrez une invite de commande et tapez php -i. Faites défiler jusqu'à la première ligne, il vous indiquera l'erreur la plus récente concernant votre fichier php.ini.

Pour résoudre le problème, recherchez le php_openssl.dllfichier, pour moi, il se trouvait dans le même répertoire que la sortie de la compilation: C:\php-sdk\bin\phpdev\vc14\x64\php-7.0.13-src\x64\Release_TS Ajoutez simplement le répertoire où se trouve l'extension, au php.ini:

extension_dir = "C:\php-sdk\bin\phpdev\vc14\x64\php-7.0.13-src\x64\Release_TS"

Espérons que l'erreur aura disparu

J11
la source
0

Si vous utilisez xampp. Revenez à l'endroit où vous choisissez le php de ligne de commande que vous souhaitez utiliser au début de votre installation et sélectionnez le chemin d'accès où votre dossier xampp est inclus. php_openssl.dll 'commentez un fichier ssl dans votre php ini avec un'; 'et votre installation devrait fonctionner correctement.

Ricardo Chitagu
la source