安装过程总是相同的,但包管理器和包名称会有所不同,具体取决于使用的发行版、版本和/或存储库。一般来说,步骤是:
a) 首先,需要提升用户权限,可以通过命令su 或sudo 获得。
b) 然后可以使用包管理器安装缺少的 PHP 模块。
c) 之后,需要重新启动apache2 HTTP 守护进程来加载模块。
d) 最后,可以运行php -m | grep imap 来查看PHP 模块现在是否可用。
在 Ubuntu 上可以使用 apt-get 安装 APT 包 php5-imap(或 php-imap):
apt-get install php5-imap
service apache2 restart
在 Debian 上,可以安装 APT 软件包 php5-imap aptitude(或 apt-get):
aptitude install php5-imap
apache2ctl graceful
在 CentOS 和 Fedora 上,RPM 软件包 php-imap 可以与 yum 一起安装(提示:软件包名称可能与 @987654341 类似@ 或php71w-imap,当使用Webtatic repo):
yum install php-imap
service httpd restart
在systemd 系统上,使用systemd units 时,重启单元httpd.service 的命令是:
systemctl restart httpd.service
上述解决方案有问题,当模块已经被引用时:
/etc/php5/apache2/php.ini
它可能会抛出:
PHP Warning: Module 'imap' already loaded in Unknown on line 0
会发生这种情况,因为它在默认的 php.ini 文件中被引用(至少在 Ubuntu 12.04 上)并且 PHP 模块最多只能被引用一次。建议使用INI sn-ps 加载模块,同时正在扫描目录/etc/php5/conf.d/(该路径也可能不同)以查找INI 文件:
/etc/php5/conf.d/imap.ini
Ubuntu 还具有用于管理 PHP 模块的专有命令,在重新启动网络服务器之前执行:
php5enmod imap
php5dismod imap
一旦IMAP 模块被加载到服务器中,PHP IMAP Functions 应该就可以使用了;最佳实践可能是,在尝试使用模块之前检查模块是否已加载。