PHP CLI não está carregando a extensão IMAP

2

Quando tento executar um script que usa imap no meu navegador, ele funciona bem (ele é carregado de um servidor Ubuntu 14.04 na minha rede com a extensão instalada). No entanto, quando tento usar o PHP CLI no dito servidor, ele não carrega imap .

Eu escrevi um script simples para verificar as extensões carregadas, usando get_loaded_extensions() , e isso me ensinou duas coisas:

  • O PHP CLI tinha 50 extensões, enquanto que executá-lo no meu navegador da web tinha 51.
  • Outra extensão que eu declarei manualmente no meu apache2/php.ini ( imagick.so ) estava sendo carregada na CLI e no navegador

Por que isso está acontecendo e como posso ter todas as 51 extensões carregadas na CLI e no navegador?

    
por zwork 01.01.2016 / 21:03

1 resposta

5

Existem arquivos de configuração separados para PHP quando chamados via Apache e quando chamados via CLI.

Por exemplo, no Debian (pelo menos), eles estão em /etc/php5/apache2/php.ini e /etc/php5/cli/php.ini , respectivamente.

O fato de você ter declarado manualmente imagick.so em apache2 / php.ini pode não significar nada - a maioria das distribuições tem outra forma de gerenciar módulos PHP e pode ativar automaticamente a extensão para você, então pode já ter sido adicionado.

Eu sugiro procurar como sua distribuição linux gerencia extensões PHP (para Debian e Ubuntu, ele usa um comando chamado php5enmod , que precisa ser chamado via sudo ), ou então apenas edite manualmente /etc/php5/cli/php.ini ou similar para estar atualizado.

    
por 02.01.2016 / 00:23