7
respostas

Composer Installer Error

Quando eu tentei instalar no Windows, deu esse erro abaixo: Erro instalador composer no windows

7 respostas

Ola! O erro:

OpenSSL failed with a 'certificate verify failed' error
SSL routines::certificate verify failed
Failed to enable crypto

significa que o Composer não consegue validar conexões HTTPS, provavelmente por:

  1. Certificados CA ausentes ou desatualizados no PHP

  2. OpenSSL mal configurado no PHP

  3. Problemas de rede, proxy ou firewall bloqueando HTTPS

  4. Verificar se o cacert.pem está configurado no PHP

  5. Baixe o arquivo de certificados atualizados: https://curl.se/ca/cacert.pem

  6. Coloque esse arquivo, por exemplo, em:

    C:\php\extras\ssl\cacert.pem
    

    (ou onde você quiser, desde que saiba o caminho)

  7. Edite o arquivo php.ini:

    • Localize essa linha:
    ;curl.cainfo =
    ;openssl.cafile =
    
    • Descomente e configure assim:
    curl.cainfo = "C:\php\extras\ssl\cacert.pem"
    openssl.cafile = "C:\php\extras\ssl\cacert.pem"
    
  8. Reinicie o terminal ou qualquer serviço que use PHP.


2. Testar se está funcionando

No terminal, rode:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

Se isso baixar corretamente, a questão SSL foi resolvida.

Verificar data e hora do Windows

  • Se a data/hora do Windows estiver incorreta, também pode gerar esse erro SSL.

Verificar proxy ou firewall

Se você está em rede corporativa, proxy ou firewall pode bloquear a conexão HTTPS.

Microsoft Windows [versão 10.0.19045.5965] (c) Microsoft Corporation. Todos os direitos reservados.

C:\Users\marco>php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

Warning: copy(): Unable to find the wrapper "https" - did you forget to enable it when you configured PHP? in Command line code on line 1

Warning: copy(): Unable to find the wrapper "https" - did you forget to enable it when you configured PHP? in Command line code on line 1

Warning: copy(): Unable to find the wrapper "https" - did you forget to enable it when you configured PHP? in Command line code on line 1

Warning: copy(https://getcomposer.org/installer): Failed to open stream: No such file or directory in Command line code on line 1

C:\Users\marco>

Pelo visto, não funcionou

Alguém ainda pode me ajudar? A sugestão do Estudante infelizmente não deu certo. Obrigado.

Perfeito, o novo erro:

Warning: copy(): Unable to find the wrapper "https" - did you forget to enable it when you configured PHP?

Significa que a extensão openssl do PHP não está habilitada.

  1. Abra o arquivo php.ini do seu PHP (fica na pasta onde o PHP foi instalado, exemplo: C:\php\php.ini).

  2. Procure pela linha:

;extension=openssl
  1. Remova o ponto e vírgula ; para ativar:
extension=openssl
  1. Salve o arquivo.

  2. Reinicie o terminal (feche e abra novamente o prompt ou PowerShell).

  3. Teste novamente:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

Verifique se a extensão está habilitada:

Execute:

php -m

E veja se aparece na lista:

openssl

Se sim, está funcionando corretamente.

Depois, siga o processo normal de instalação do Composer.

Oi...Não funcinou...Eu tenho 2 arquivos dentro do PHP, php.ini-development e php.ini-production. Habilitei nos dois e não funcionou!

Beleza. Vc pode mandar imagens? consigo entender melhor assim

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeContinua com o erro Dentro de php.ini Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade Tudo certinho Em C:\php\extras\ssl: Insira aqui a descrição dessa imagem para ajudar na acessibilidade Dentro do terminal executei "php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');""

Insira aqui a descrição dessa imagem para ajudar na acessibilidadephp -m

Insira aqui a descrição dessa imagem para ajudar na acessibilidade openssl está na lista. Ok

Agora executo a instalação:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

E o mesmo erro aparece!