L'extension openssl est requise pour la protection SSL/TLS

composer create-project flarum/flarum . --stability=beta

J'essaie d'exécuter cette commande, mais elle m'a donné cette erreur.

  [RuntimeException]                                                           
  The openssl extension is required for SSL/TLS protection but is not availab  
  le. If you can not enable the openssl extension, you can disable this error  
  , at your own risk, by setting the 'disable-tls' option to true.  

J'ai essayé d'ajouter "extension=php_openssl.dll" à "php.ini", mais il a toujours cette erreur

37
demandé sur marlo 2016-02-07 07:09:30

5 réponses

La même erreur m'est venue. Je l'ai corrigé en désactivant TLS pour Composer, ce n'est pas sûr mais j'ai assumé le risque sur ma machine de développement .

, Essayez ceci:

composer config -g -- disable-tls true

Et relancez votre compositeur. Il fonctionne pour moi!

Mais c'est non sécurisé et non recommandé pour votre serveur . Le site officiel dit:

Si la valeur est true, toutes les URL HTTPS seront essayées avec HTTP à la place et aucun chiffrement au niveau du réseau n'est effectué. Activer Ceci est un risque de sécurité et N'est pas recommandé. La meilleure façon est d'activer l'extension php_openssl en php.ini.

Si vous ne voulez pas activer la couche non sécurisée dans votre machine / serveur, alors Configurez votre php pour activer openssl et cela fonctionne également . Assurez-vous que L'extension PHP Openssl a été installée et activez-la sur php.fichier ini.


Pour activer OpenSSL, ajoutez ou trouvez et décommentez cette ligne sur votre php.ini fichier:

Linux/OSx:

extension=php_openssl.so

Windows:

extension=php_openssl.dll

Et Rechargez votre serveur php-fpm / web si nécessaire!

84
répondu Vinícius Medeiros 2017-04-03 15:09:14

Selon le compositeur référence, il existe deux options: disable-tls et secure-http.

nano ~/.composer/config.json ...

{
    "config": {
        "disable-tls": true,
        "secure-http": false
    }
}

Alors il se plaint beaucoup:

You are running Composer with SSL/TLS protection disabled.
Warning: Accessing getcomposer.org over http which is an insecure protocol.

Mais il effectue le composer selfupdate (ou autre).

Alors que l'on ne peut pas simplement "activer SSL dans le php.ini" sous Linux; PHP doit être compilé avec openSSL configuré comme shared bibliothèque - afin de pouvoir y accéder à partir de la PHP CLI SAPI.

12
répondu Martin Zeitler 2017-01-16 02:22:10

Pour activer openssl allez dans php.ini et activer cette ligne:

extension=php_openssl.dll

Si vous ne voulez pas activer openssl, vous pouvez définir composer ne pas utiliser openssl avec cette commande:

composer config -g -- disable-tls true

Cependant, il s'agit d'un problème de sécurité.

6
répondu Clairton Luz 2017-03-08 19:53:53

J'ai eu exactement le même problème et je n'ai pas pu trouver de solution, donc après avoir réfléchi et cherché pendant un moment, j'ai pensé que mon PHP.INI n'a apparemment pas regardé dans le bon répertoire pour mes Extensions PHP, donc je suis allé sous:

"répertoire dans lequel résident les extensions chargeables (modules)." Et trouvé ce qui suit:

; http://php.net/extension-dir
; extension_dir = "./"
; On windows:
;extension_dir = "ext"

Et simplement supprimé le; en face de "extension_dir = "ext", notez que C'est seulement pour Windows, supprimez le point-virgule devant le premier extension_dir si vous êtes l'exécution d'un système d'exploitation différent.

Je ne sais pas pourquoi le mien n'était pas déjà banalisé, mais c'est juste quelque chose à rechercher si vous avez des problèmes.

5
répondu NiceDevelopmentq 2017-02-16 22:32:38

Ce problème se produit en raison d'openssl et d'extension director afin de décommenter les extensions ci-dessous dans php.ini file

extension=php_openssl.dll extension_dir = "ext"

Ses travaux sur ma machine.

1
répondu Vrushal Raut 2017-03-16 09:58:08