Compositor Aviso: falta a extensão openssl. Como habilitar no WAMP

132

Tentando instalar a ferramenta de gerenciamento de dependência do Composer no Win7 / 64 + WampServer 2.2 por meio do Setup Installer e estou recebendo a seguinte mensagem:

A extensão openssl está ausente, o que reduzirá a segurança e a estabilidade do Composer. Se possível, você deve habilitá-lo ou recompilar o php com --with-openssl

Então aqui está o que eu fiz ...

  1. No ícone do Wamp na Bandeja, cliquei php > php extensions > php_openssl
  2. Isso mostrou que a tarefa foi concluída colocando uma marca de seleção ao lado da extensão
  3. Eu reiniciei o WampServer
  4. Em seguida, no ícone Wamp na bandeja, cliquei php > php.inie procurei o openssl para verificar se ele NÃO foi comentado). Não era.
  5. Voltei ao Composer-Setup.exe e tentei novamente. Mesma mensagem de aviso : "a extensão openssl está ausente"
  6. Como nunca trabalhei com o OpenSSL, não tenho certeza do que deve ser definido, então tentei navegar em um dos meus sites locais usando https. Falhou.

o que estou perdendo?

Por favor informar.

dorminhoco
fonte
Uau. Eu apenas fui ao google para tentar obter mais informações e este post apareceu nos resultados de pesquisa. Já? Droga, isso foi rápido. : -}
sleeper
Você reiniciou o servidor da web?
Periklis
sim, eu reiniciei o servidor.
sleeper
não tenho certeza de quão extenso você está tentando obter com o ssl, mas isso pode ajudar: phpjoel.com/2011/04/07/… . Se isso não ajudar, você sempre pode tentar o bom e velho método de reinstalação para solucionar problemas depois de fazer backup de seu banco de dados e arquivos.
Cameeob2003
Acabei de atualizar minha versão no WampServer para a versão mais recente. A mesma mensagem. Eu apenas continuei com a instalação. Até agora, nenhum erro perceptível. Esquisito.
sleeper

Respostas:

316

O WAMP usa arquivos php.ini diferentes na CLI e no Apache. quando você habilita o php_openssl através da interface do usuário do WAMP, habilita-o para o Apache, não para a CLI. Você precisa modificar C: \ wamp \ bin \ php \ php-5.4.3 \ php.ini para habilitá-lo para a CLI.

Valery I.
fonte
2
você salvou meu amor que eu sinto para laravel ... por que diabos não deixam installationlike foi na versão antiga :)
Tom
1
Parreira laravel me trouxe aqui
tomexsans
1
Estou usando o uwamp, onde posso encontrar o arquivo ini.
Sujeet Kumar
Resposta também funciona para EasyPHP (sistema de botão direito do mouse bandeja EasyPHP ícone, selecione Configuração | PHP, que abre php.ini no bloco de notas, procurar openssl, descomente a linha)
stifin
o que devo fazer para xampp? .. Recebi o erro como se esta mensagem não pudesse ser enviada. Erro de mala direta: Extensão ausente: openssl ,,,
pcs
27

Além de descomentar a ;extension=php_openssl.dlllinha php.inimencionada por todos os outros, você também deve garantir que a ;extension_dir = "ext"linha também não seja comentada. Para remover o comentário, remova o ponto e vírgula prefixado e salve.

Essa linha já pode não ser comentada em pacotes como WAMP e XAMPP, mas não está em um download simples do PHP para Windows, então vale a pena verificar. Além disso, você deve criar o php.iniarquivo, copiando um dos exemplos, como php.ini-developmentpara um novo arquivo, e depois o nomeie php.ini. Em seguida, faça essas alterações lá.

Além disso, no futuro, para instalar ferramentas como PHP e Composer, recomendo usar o gerenciador de pacotes Chocolatey. Então é tão simples quanto choco install composer. Obviamente, você ainda precisará editar o php.ini antes de instalar o Composer com o método choco. Nas versões futuras do Windows, ferramentas de gerenciamento de pacotes como o Chocolatey serão inseridas no Windows , da mesma forma que apt-getno Ubuntu. Tempos emocionantes pela frente para desenvolvedores!

De qualquer forma, após a instalação do Composer, não se esqueça de reiniciar o terminal. Esteja você usando o prompt de comando, o Bash (instala com o Git) ou o Powershell, será necessário reiniciá-lo antes que as variáveis ​​ambientais atualizadas funcionem.

Scott Pigeon
fonte
4
Esta é a resposta correta se você está tentando instalar o compositor no Windows 10 e seguiu este guia
roubado
Absolutamente .. Isso é verdade ... Eu sabia disso, mas esqueci essa extlinha no Windows. Obrigado por lembrar.
WM
16

Eu tive o mesmo problema, mesmo que o openssl estivesse ativado. O problema era que o instalador do Composer estava olhando para este arquivo de configuração:

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

Mas o arquivo de configuração carregado está realmente aqui:

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

Então, eu apenas tive que descomentá-lo no primeiro arquivo php.ini e isso fez o truque. É assim que o WAMP foi instalado na minha máquina por padrão. Como não mudei nada, provavelmente isso também acontecerá com os outros. Isso é basicamente o mesmo que a resposta de Augie Gardner acima, mas eu só queria ressaltar que você pode ter dois arquivos php.ini.

regularmike
fonte
O caminho padrão fornecido durante a instalação estava errado. Apontar para corrigir o php.exe resolveu o problema, Obrigado.
Sandesh Damkondwar
12

descomentado ;extension=php_openssl.dllem ambos

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

vai funcionar

vuhung3990
fonte
Eu estou usando xampp .. então eu editei 2 arquivos nomeados, c / php / php.ini ec / apache / bin / php.ini .. ponto e vírgula removido neste; extension = php_openssl.dll .. mas ainda permanece o mesmo erro como this Mailer Error: Extensão ausente: openssl ..
pcs
@ saina você reiniciou seu servidor? Execute também phpinfo () para verificar onde o arquivo de configuração está localizado.
Ivanka Todorova
5

C: \ laravel-master> compositor criar projeto laravel / laravel Instalando laravel / laravel (v4.0.6) - Instalando laravel / laravel (v4.0.6) [RuntimeException] Você deve ativar a extensão openssl para baixar arquivos via https

Estou usando o EasyPhp (tipo WAMP). No ícone EasyPHP na barra de tarefas, clique com o botão direito do mouse e selecione configuração e selecione PHP. Vou abrir a PHP.iniconfiguração do arquivo em um bloco de notas, procurar-encontrar ou CTRL+ F no bloco de notas para a palavra que OPENSSLvocê encontrará, ;extension=php_openssl.dllbasta remover o; e o extension=php_openssl.dllestá ativo.

C: \ laravel-master> compositor criar projeto laravel / laravel Instalando laravel / laravel (v4.0.6) - Instalando laravel / laravel (v4.0.6) Download: 100% Projeto criado em C: \ laravel-master \ laravel Carregando o compositor repositórios com informações do pacote Instalando dependências (incluindo require-dev)

voltronluis
fonte
Eu sei que é off-topic, mas como você tem o compositor instalado com o EasyPhp. Eu só recebo erros e preciso reinstalar tudo.
HenryW
2

você precisa editar a pesquisa de arquivo "c: \ Arquivos de programas \ wamp \ bin \ php \ php5.3.13 \ php.ini" para:; extension = php_openssl.dll

remova o ponto e vírgula no início

nota: se salvar o arquivo não funcionar, será necessário editá-lo como administrador. (no win7) vá para o menu Iniciar, procure o bloco de notas, clique com o botão direito do mouse no bloco de notas, clique em "Executar como administrador"

nas janelas de instalação do compositor, basta clicar em voltar e depois em próximo (ou fechá-lo e iniciar novamente) e deve funcionar

Zemba Albert
fonte
2

configurações abertas do wamp / bin / apache / apache2.4.4 / bin / php .. configurações do wamp / bin / php / php5.4.16 / php conf, produção php-ini, php-ini dev, php-ini dev, phpForApache find extension = php_openssl.dll e descomentado removendo ;

Njoroge Mathu
fonte
possível duplicação de stackoverflow.com/questions/14062055/…
blackmind 29/04
1

Curto e doce, remova o comentário desta linha wamp/bin/php/php5.3.13(ou qualquer versão php):
;extension=php_openssl.dll(remova a ;)
Agora execute a instalação da linha de comando do Composer. Você não terá um erro.
Bom para ir!

Augie Gardner
fonte
1

Você deve fazer um link simbólico para o php.ini. Desculpe pelo link russo .

Alex Pliutau
fonte
1

Sim, você deve abrir o php.ini e remover o ponto e vírgula para:

;extension=php_openssl.dll

remova o ";" assim e vai funcionar.

extension=php_openssl.dll

Feliz codificação.

Sujeet Kumar
fonte
0

Para instalar o Composer abaixo, as etapas funcionaram: (WAMP versão 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
fonte
0

Todas essas respostas são boas, mas, de fato, se você deseja entender, o diretório de extensões precisa estar correto se você deseja que todas as extensões não comentadas funcionem. Pode escrever um caminho físico ou relativo como

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

ou

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

É relativo ao servidor da web httpd.exe Apache (C: \ myStack \ apache \ bin) Mas se você deseja que ele funcione com o Composer ou qualquer outra coisa, você precisa do caminho físico, porque o modo cli não usa o servidor da web!

François Breton
fonte
0

Eu estava enfrentando o mesmo problema. Renomeei minha pasta php de php7_winxxxxpara apenas php e funcionou bem. Parecia que o compositor estava verificando a localização do módulo php_openssl c:/php/ext.

Você também pode precisar adicionar c:/phpà PATHvariável de ambiente in

Tushortz
fonte