php5-imap sur Ubuntu 14.04 n'est pas activé

21

Après

apt-get install php5-imap

Je dois encore faire manuellement

php5enmod imap

ce qui semble étrange et incohérent. Y a-t-il une raison particulière pour ça?

user294583
la source

Réponses:

34

Oui, c'est un peu étrange. Les étapes à suivre pour l'installer (pour les futurs utilisateurs qui ont des problèmes sont les suivantes)

sudo apt-get install php5-imap
sudo php5enmod imap
sudo service apache2 restart
Mark Aroni
la source
root @ 4385-2889-2142: ~ # sudo php5enmod imap sudo: php5enmod: commande introuvable
Kaspar L. Palgi
3
@ KasparL.Palgi, lorsque vous êtes connecté en tant que root, vous n'avez pas besoin de sudo. Cela n'a aucun sens.
Dekel
6

Je suis tombé sur le même problème mais maintenant quelques années se sont écoulées. La réponse de Mark Aronis est correcte , mais le logiciel a changé. Utilisez-le à la place:

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

(Sry, je ne peux pas encore laisser de commentaires)

Qohelet
la source
Changé à nouveau, il est maintenant: php7.2-imap
spcial
1

Pour répondre à la question s'il y a une raison particulière à cela, oui il y en a;) Vous pouvez interfacer Apache avec PHP de plusieurs manières (mod_php, cgi, fcgi, scgi, php-fpm, cli ...). Et vous pouvez utiliser plusieurs de ces API de serveur (SAPI) sur la même machine en parallèle et décider par site / vhost lequel utiliser (en tenant compte de problèmes tels que les performances, la sécurité ou la compatibilité).

Si les modules PHP étaient activés juste par l'installation, ils seraient activés sur tous les SAPI disponibles. Mais que faire si vous devez vous différencier? Peut-être que vous voulez un module disponible pour php-fpm (parce que vous y avez configuré des contrôles de sécurité suffisants), mais pas à partir de l'interface de ligne de commande cli? Ou vous souhaitez configurer le module de différentes manières pour différents SAPI. Ou vous avez juste besoin de désactiver temporairement un module pendant que quelqu'un exécute une attaque sur votre serveur, et vous ne voulez pas perdre la configuration que vous avez travaillé un jour pour installer et affiner.

Pour faire ces choses, il y a une structure de répertoires et de fichiers de configuration sous /etc/php5. Et assez similaire à ce que a2ensite/ a2dissitefaire pour les vhosts Apache et ce que a2enmod/ a2dismodfaire pour les modules Apache, vous pouvez gérer les modules PHP avec phpenmod/ php5dismod.

Henning Kockerbeck
la source