未启用Ubuntu 14.04上的php5-imap

apt-get install php5-imap 

我还是要手动做

 php5enmod imap 

这似乎奇怪而且不一致。 这有什么特别的原因吗?

是的,这有点奇怪。 安装此步骤涉及的步骤(对于有问题的未来用户如下)

 sudo apt-get install php5-imap sudo php5enmod imap sudo service apache2 restart 

我遇到了同样的问题,但现在几年过去了。 Mark Aronis的回答是正确的 ,但软件改变了。 使用它代替:

 sudo apt-get install php7.0-imap sudo phpenmod imap 

(Sry,我还不能发表评论)

要回答这个问题是否存在特定原因,是的;是的;)您可以通过多种方式将Apache与PHP连接起来(mod_php,cgi,fcgi,scgi,php-fpm,cli …)。 并且您可以在同一台计算机上并行使用多个服务器API(SAPI),并由site / vhost决定使用哪个(考虑性能,安全性或兼容性等问题)。

如果只是通过安装激活PHP模块,它们将在所有可用的SAPI中激活。 但是,如果你需要区分呢? 也许你想要一个可用于php-fpm的模块(因为你在那里设置了足够的安全检查),但不是从命令行cli接口? 或者您希望以不同的方式为不同的SAPI配置模块。 或者您只需要在某人在您的服务器上运行攻击时暂时取消激活模块,并且不想放弃您每天工作以进行设置和微调的配置。

要做这些事情, /etc/php5下有一个目录和配置文件的结构。 与a2ensite / a2dissite为Apache vhosts所做的以及a2enmod / a2dismod为Apache模块所做的非常类似,您可以使用phpenmod / php5dismod管理PHP模块。