Sim, isso é um pouco estranho. Os passos envolvidos para instalar isto (para futuros usuários que têm problemas são os seguintes)
sudo apt-get install php5-imap
sudo php5enmod imap
sudo service apache2 restart
Depois
apt-get install php5-imap
Eu ainda tenho que fazer manualmente
php5enmod imap
que parece estranho e inconsistente. Existe alguma razão particular para isso?
Sim, isso é um pouco estranho. Os passos envolvidos para instalar isto (para futuros usuários que têm problemas são os seguintes)
sudo apt-get install php5-imap
sudo php5enmod imap
sudo service apache2 restart
Eu me deparei com o mesmo problema, mas agora alguns anos se passaram. A resposta de Mark Aronis está correta , mas o software mudou. Use isso em vez disso:
sudo apt-get install php7.0-imap
sudo phpenmod imap
(Sry, não posso deixar comentários ainda)
Para responder à pergunta se há uma razão particular para isso, sim, existe;) Você pode fazer a interface do Apache com o PHP de várias maneiras (mod_php, cgi, fcgi, scgi, php-fpm, cli ...). E você pode usar várias dessas APIs do servidor na mesma máquina em paralelo e decidir pelo site / vhost que usar (considerando problemas como desempenho, segurança ou compatibilidade).
Se os módulos do PHP fossem ativados apenas pela instalação, eles seriam ativados em todos os SAPIs disponíveis. Mas e se você precisar diferenciar? Talvez você queira um módulo disponível para o php-fpm (porque você configurou verificações de segurança suficientes lá), mas não da interface cli da linha de comando? Ou você deseja configurar o módulo de maneiras diferentes para diferentes SAPIs. Ou você só precisa desativar temporariamente um módulo enquanto alguém está executando um ataque em seu servidor e não quer perder a configuração que você trabalhou por dia para configurar e ajustar.
Para fazer isso, existe uma estrutura de diretórios e arquivos de configuração em /etc/php5
. E bem parecido com o que o a2ensite
/ a2dissite
faz para o Apache vhosts e o que a2enmod
/ a2dismod
faz para os módulos do Apache, você pode gerenciar módulos PHP com phpenmod
/ php5dismod
.