Erro extensões PHP

Olá, boa tarde a todos. Estou fazendo uma instalação em produção, do Ieducar, última versão (2.1.15), num servidor com Linux Ubuntu 18.04. Na tela de instalação, passou em tudo, menos nas Extensões PHP, que acusa estar faltando a gd. Ocorre que quando peço pra instalar, me diz que a versão já é a atual. Depois desse erro, já tentei instalar versões anteriores e posteriores, e não instala. Alguém já passou por isso, e sabe como vencer essa etapa? Segue print das telas da instalação.

Você já verificou se a extensão está habilitada?
Você pode rodar o comando php -m, isso vai listar os módulos habilitados. A GD precisa estar nessa lista

Se não tiver, provavelmente você terá que habilitar ela no php.ini

Boa noite @munizeverton. O estranho é que ela está habilitada, conforme pode ver no print da tela abaixo, e não consigo avançar na instalação. Não teria outra forma de fazer essa instalação em produção?

Cria um arquivo info.php no public/ do projeto como este arquivo aqui:

Acesse e veja se o GD aparece como carregado ali tmb. Pode ser que o gd esteja habilitado pra ferramenta de linha de comando mas não no servidor. Com esse arquivo a gente consegue verificar isso. Depois fala pra gente!

Bom dia @eber. Mandei no pv a saída do info.php pra você. Veja aí, e me diga onde localizar essa extensão. Depois a gente posta um print da tela, com o local exato.

Cara, eu vi lá e realmente o GD não está acarregado. Deveria ter algo +/- assim no output do seu phpinfo():

Isso quer dizer que você tem a extensão instalada já que ela aparece na CLI, mas ela não está habilitada pro fpm provavelmente. Você vai ter que verificar na sua instalação do PHP se na pasta onde ficam os módulos instalados, o arquivo do GD tá linkado. Outra coisa, se você instalou a extensão e não reiniciou o servidor então ela não será carregada mesmo que o arquivo esteja lá. Como na CLI é no runtime, ele vai mostrar que o módulo está lá mas você precisa reiniciar o FPM pra carregar a extensão depois de instalar.

Qualquer coisa fala aí.

Certo @eber. Eu não entendi muito bem essa dinâmica. Fui lá em etc/php/7.2/fpm/conf.d/ e realmente não tem nenhum arquivo relativo ao gd (aparentemente). Dei uma olhada em um dos arquivos (bcmath) e ele é vazio? Isso quer dizer que o processo de criação não é exatamente esse. Poderia me dar uma força nisso, e postar aqui? Veja a saída da minha tela como tá:

Estou vendo que você está com 3 versões do PHP instaladas. Quando você usa a linha de comando, qual versão exatamente é carregada? Verifica isso e instala o GD pra versão que você tá utilizando pro servidor. Imagino que este possa ser o problema.

Certo @eber. A versão instalada era apenas a 7.3, e não me lembro direito, mas pode ser que na tentativa de resolver a questão das dependências, eu acabei instalando outras. Mas a saída do php --version mostra a versão 7.3.6. Veja a saída na tela abaixo:

Não importa muito que o seu cli esteja dando a versão 7.3 se o seu servidor está usando a 7.2 conforme você pode ver no seu phpinfo. Ou você atualiza seu servidor para usar a versão 7.3 onde o GD está instalado, ou instala o GD para a versão 7.2 (não esquecer de reiniciar o FPM depois disso).

Caso contrário, vai continuar dando problema :wink:

Boa noite @eber. Eu já tinha tentado fazer isso, e não funcionou, porém quando fiz isso hoje, como serviço parado, deu certo, e instalou o GD para a versão 7.2. Passou essa etapa e apresentou um erro na geração de chave da aplicação. Achei aqui no fórum uma alternativa de editar um trecho do arquivo .env, alterando uma linha específica, acho que pra production (ou o contrário, não lembro).
Também passou essa etapa, e aparentemente resolveu a questão da chave. Agora parou num erro “inicializando o banco de dados”, e pede pra olhar o arquivo storage/logs. Olhei o arquivo, e foi como um sueco cego, lendo um manual em japonês. Segue o log pra que dê uma olhada, e veja se consegue me dar uma luz:
https://pastebin.com/Gv8A3dqx
Esse foi o log do último erro, e tem vários outros mais antigos, mas aparentemente são todos iguais. Param no mesmo lugar. Parece que atualiza os dados do banco, e depois dá algum erro, que não sei precisar.

Pessoal, alguém que já tenha passado por isso, pra dar uma força? Rodei um php artisan migrate hoje, na falta de algo mais concreto, e vejam o erro que deu:

Você tem o driver pgsql instalado no php? Você pode rodar um php -m pra conferir isso

Bingo! Era exatamente isso @munizeverton. Não estava instalado o pgsql no php. Instalei e o sistema está rodando agora.

1 curtida