Ao tentar executar o comando composer create-project laravel/laravel estoque "5.0.", está dando um erro relacionado a php_mcrypt.dll. Pesquisando verifiquei que esta biblioteca foi descontinuada a partir do PHP 7.2.
O que fazer?
Ao tentar executar o comando composer create-project laravel/laravel estoque "5.0.", está dando um erro relacionado a php_mcrypt.dll. Pesquisando verifiquei que esta biblioteca foi descontinuada a partir do PHP 7.2.
O que fazer?
Bom dia, Marcio.
Cole aqui o erro para que possamos lhe auxiliar.
Att.
D:\Alura\LARAVEL>composer create-project laravel/laravel estoque "5.0." Installing laravel/laravel (v5.0.0)
Installing laravel/laravel (v5.0.0): Loading from cache Created project in estoque Loading composer repositories with package information Updating dependencies (including require-dev) Your requirements could not be resolved to an installable set of packages.
Problem 1
laravel/framework v5.0.17 requires ext-mcrypt * -> the requested PHP extension mcrypt is missing from your system.
To enable extensions, verify that they are enabled in your .ini files:
php --ini
inside terminal to see which files are used by PHP in CLI mode.Olá, Márcio
A mensagem de erro indica que deve ser habilitado a extensão ext-mcrypt
no seu php.ini.
Em sua mensagem inicial você mencionou php_mcrypt.dll
com base nisso julgo que seu sistema operacional é windows.
Basta você acessar seu php.ini
e liberar descomentado ( remover o ; ) a extensão do mcrypt
.
Caso você não saiba onde se encontra o seu php.ini
execute o seguinte comando no terminal que o mesmo indicará a localização, sendo:
php --ini
Após localizar o php.ini, habilitar a extensão, você deve realizar o restart do PHP, para que as novas configurações entre em vigor.
Att,
Diego cheguei a fazer isso mas não funcionou pq a dll não existia na pasta EXT. Ao pesquisar verifiquei o mcrypt tinha sido descontinuado (http://php.net/manual/en/intro.mcrypt.php), e com isso não soube o que fazer...
Estou usando esta versão do PHP:
D:\Alura\LARAVEL>php -version PHP 7.3.0 (cli) (built: Dec 6 2018 01:54:16) ( NTS MSVC15 (Visual C++ 2017) x64 ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.0-dev, Copyright (c) 1998-2018 Zend Technologies
Olá Marcio, o seu PHP está na versão 7.3.0 e a biblioteca foi descontinuada a partir da versão 7.1.0. Neste caso, você precisa desinstalar a PHP na sua máquina e instalar a versão 5.6. Ou instalar uma outra versão mais atual do Laravel.
Olá,
@Marcio a extensão foi descontinuada do PHP, ou seja não é mais empacotada junto ao mesmo, onde foi migrada para o pecl ao qual fornece ferramenta para a instalação a extensão.
@Wesley, discordo do seu argumento, downdrade de versão do PHP apenas pelo fato de uma extensão não ser mais empacotada junto ao PHP não é recomendado, alias downgrade é taxativamente desencorajado. Cautela com suas afirmações, pois o Marcio poderia ter desinstalado o PHP e instalado uma versão que não é mais mantida (depreciada em 01/12/2019).
@marcio Caso tenha dúvidas sobre como instalar via pecl avise que posso lhe auxiliar.
Oi Diego, a instalação da biblioteca pecl (que você citou) resolveria o problema do Márcio?
Ou você acha que seria melhor ele utilizar uma versão mais atual do Laravel que suporta o PHP 7.3.0?
Olá, @wesley
Seria ideal utilizar o Laravel 5.7
, porém o @marcio deve estar com curso em andamento, onde o mesmo utiliza o Laravel 5.0
onde possivelmente ocorrerá incompatibilidade de recursos, impactando no projeto em desenvolvimento.
Caso ele tenha conhecimento para corrigir os mesmos, show atualiza e segue o jogo, porém acredito que não será esse o caminho.
Com isso a instalação da extensão resolverá o erro de instalação e o mesmo prosseguirá com os estudos.
Levanto essa pergunta ao @marcio, o que você acha? Hoje você se encontra com a versão mais atual do PHP, isso é ótimo, caso queira topar a atualização e validar se ocorrerá incompatíbildiade, segue o jogo e manda as perguntas em mais tópicos.
Top! Obrigado pelo feedback!
@wesley
Referente a sua duvia:
PECL é um repositório para extensões PHP, onde ela instala globalmente no PHP a extensão.
Somente a instalação da PECL não resolve pois após instalação da mesma, deve instalar a extensão.
Compreendi Diego, muito obrigado!
Olá @wesley
Obrigado eu, pela receptividade ao feedback.
Então.. Como não tenho bagagem ainda, não consigo definir o melhor caminho. O que vocês fariam? Uma versão mais nova do Laravel resolveria? Porque se eu tiver que ficar fazendo pesquisas, extra curso, para saber o que substituirá determinado compeonente, não será muito produtivo.
Olá, @marcio.
Recomendo a abordagem da instalação da pecl
e consecutivamente a instalação ad extensão. Será o caminho mais curto para solucionar seu problema.
Fiquei confuso com a instalação do pecl e acabei conseguindo instalando o laravel mais atual. Obrigado pela ajuda