web-dev-qa-db-fra.com

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

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?

21
user294583

Oui c'est un peu bizarre. 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
34
Mark Aroni

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

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

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

6
Qohelet

Pour répondre à la question s'il existe une raison particulière, oui, il y 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 choisir par site/vhost laquelle utiliser (en tenant compte de problèmes tels que les performances, la sécurité ou la compatibilité).

Si les modules PHP étaient activés simplement par l'installation, ils le seraient par l'intermédiaire de toutes les SAPI disponibles. Mais que faire si vous avez besoin de différencier? Peut-être souhaitez-vous un module disponible pour php-fpm (car vous y avez configuré suffisamment de contrôles de sécurité), mais pas à partir de l'interface en ligne de commande cli? Ou vous souhaitez configurer le module de différentes manières pour différentes SAPI. Ou vous avez juste besoin de désactiver temporairement un module pendant que quelqu'un attaque votre serveur et vous ne voulez pas perdre la configuration que vous avez travaillée un jour pour la configurer et la peaufiner.

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

1
Henning Kockerbeck