12
respostas

[Dúvida] Erro ao tentar criar o primeiro projeto com Laravel

Olá, já tentei de tudo e não consigo sair deste ponto:

  You must enable the openssl extension in your php.ini to load information from https://repo.packagist.org

Abaixo mensagem contendo o erro. Conto com o apoio de vcs. Grato.

O Windows PowerShell
Copyright (C) Microsoft Corporation. Todos os direitos reservados.

Instale o PowerShell mais recente para obter novos recursos e aprimoramentos! https://aka.ms/PSWindows

PS C:\Users\Rodrigo> cd e:/laravel
PS E:\laravel> composer create-project laravel/laravel controle-series
Creating a "laravel/laravel" project at "./controle-series"
You are running Composer with SSL/TLS protection disabled.

In ComposerRepository.php line 1181:

  You must enable the openssl extension in your php.ini to load information from https://repo.packagist.org


create-project [-s|--stability STABILITY] [--prefer-source] [--prefer-dist] [--prefer-install PREFER-INSTALL] [--repository REPOSITORY] [--repository-url REPOSITORY-URL] [--add-repository] [--dev] [--no-dev] [--no-custom-installers] [--no-scripts] [--no-progress] [--no-secure-http] [--keep-vcs] [--remove-vcs] [--no-install] [--no-audit] [--audit-format AUDIT-FORMAT] [--ignore-platform-req IGNORE-PLATFORM-REQ] [--ignore-platform-reqs] [--ask] [--] [<package> [<directory> [<version>]]]
12 respostas

Olá, Rodrigo

Você precisa habilitar a extensão openssl no seu arquivo php.ini. Aqui estão os passos que você pode seguir:

  1. Encontre o arquivo php.ini no seu sistema. No Windows, geralmente está na pasta onde o PHP está instalado.

  2. Abra o arquivo php.ini em um editor de texto.

  3. Procure a linha que diz ;extension=openssl.

  4. Remova o ponto e vírgula no início da linha para descomentar a linha e habilitar a extensão. A linha deve agora parecer com extension=openssl.

  5. Salve e feche o arquivo php.ini.

Espero ter ajudado e bons estudos!

Olá, grato pelo retorno. Acredito que já fiz isso! Estou usando o PHP 8.3.3. Última versão estável. Tenho o arquivo php - Arquivo INI-DEVELOPMENT (.ini-development). Obs. Simplesmente descompactei e está funcionando. PHP OK e Composer OK. Ambos rodando. C:\php-8-3-3 Path: C:\php-8-3-3

Retirei o comentário, como indicado. Na seção: ; The ldap extension must be before curl if OpenSSL 1.0.2 and OpenLDAP is used ; otherwise it results in segfault when unloading after using SASL. ; See https://github.com/php/php-src/issues/8620 for more info.

Tbm olhei: https://github.com/php/php-src/issues/8620 Mas não consegui entender o que falta.

Se mudar a verão do PHP tenho chances de resolver? Já tentei a 8.2.16. Mesmo erro.

Aguardo suporte. Grato pela atenção.

Você renomeou o arquivo php-development.ini para somente php.ini?

Tente rodar no terminal o comando php -m, este comando vai listar todas as extensões habilitadas. Se não listar o openssl, significa que o PHP não conseguiu habilitar.

Olá... Eu baixei o PHP e descompactei nas pasta: C:\php-8-3-3. Ao descompactar o arquivo PHP vem como na imagem 01-php-arquivo.!! (https://cdn1.gnarususercontent.com.br/1/296653/87bc22cc-9193-47b0-8c75-802142ee7e23.png) .

Eu apago o php - Arquivo INI-PRODUCTION (.ini-production).

Altero, como recomendado, o php - Arquivo INI-DEVELOPMENT (.ini-development) para php.ini

Retiro o comentário - extension=openssl.

Testo o Laravel, imagem 02-laravel-teste

(https://cdn1.gnarususercontent.com.br/1/296653/cefa3bb6-ee73-438b-a3db-a000726e89be.png) .

Obs. Com php -m não lista openssl.

O que necessito fazer? Grato.

Ah! Esqueci... O arquivo php fica como na imagem: (https://cdn1.gnarususercontent.com.br/1/296653/2f2a7cb2-9441-4689-b821-45111f49af86.png)

Grato.

Parece que o PHP não está conseguindo encontrar o arquivo php.ini.

Abre o terminal e digita php --ini. O conteúdo retornado deve ser algo parecido com isso:

Configuration File (php.ini) Path:
Loaded Configuration File:         C:\php\php.ini // neste caso aqui ele conseguiu detectar. Pode ser que o seu esteja `none`
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)

As vezes o arquivo renomeado está escrito de maneira incorreta como: php.ini.ini pelo fato do windows esconder as extensões.

Dia! De fato! Refiz tudo! Resultado do php --ini Imagem 04-php-ini-arquivo: (https://cdn1.gnarususercontent.com.br/1/296653/3ff08f79-c23b-4c06-809a-2c03485572ae.png)

Grato... Vc consegue me orientar como fazer para reconhecer?

Então, até hoje os problemas que tive, era o nome do arquivo que estava incorreto. Como mencionei acima, pode ser que esteja com o nome php.ini.ini pois o Windows pode está escondendo as extensões dos arquivos e pastas

Agradeço pela atenção e dedicação... Sigo tentando. Refiz tudo! Criei um php.ini do zero e copiei o conteúdo do arquivo que não estava sendo reconhecido. Ok! Reconheceu, mas nada de achar openssl.

Segue última situação: e:>php --ini PHP Warning: PHP Startup: Unable to load dynamic library 'openssl' (tried: C:\php\ext\openssl (N├úo foi poss├¡vel encontrar o m├│dulo especificado), C:\php\ext\php_openssl.dll (N├úo foi poss├¡vel encontrar o m├│dulo especificado)) in Unknown on line 0

Warning: PHP Startup: Unable to load dynamic library 'openssl' (tried: C:\php\ext\openssl (Não foi possível encontrar o módulo especificado), C:\php\ext\php_openssl.dll (Não foi possível encontrar o módulo especificado)) in Unknown on line 0 Configuration File (php.ini) Path: Loaded Configuration File: C:\php-8-3-3\php.ini Scan for additional .ini files in: (none) Additional .ini files parsed: (none)

A imagem 05-php_openssl demonstra a dll (https://cdn1.gnarususercontent.com.br/1/296653/6aca8ca9-cd7d-4010-a887-6cbba97a7515.png)

Agradeço se puder manter o suporte.

Estranho... Você baixou uma extensão openssl e adicionou na pasta ext? Se sim, não precisava. Porque por padrão essa extensão já vem nos arquivos de instalação do PHP.

Outra coisa, sempre que fizer alguma modificação tenta fechar o terminal e abrir novamente.

Olá! Grato... Não baixei... Pretendia fazer isso. Vc consegue configurar usando o PHP 8.3.3? Funciona 100% pra vc ? Sempre reinicio o terminal. Vou tentar outra abordagem pq não vai! Grato.

Eu estou usando versão 8.2. Mas eu acabei de baixar a versão 8.3 e tive que habilitar as extensões:

  • extension=zip
  • extension=openssl
  • extension=curl
  • extension=fileinfo

Somente essas, e após habilitar, funcionou, e claro renomear o arquivo para php.ini

Você não precisa baixar as extensões. Apenas habilitá-las