在centos7安装php7的imap扩展遇到的问题

在centos7系统中,安装php7对应的imap扩展时遇到的问题,做一个总结

image description

在centos7安装php7的imap扩展遇到的问题

本篇是通过php源码进行imap扩展安装,本以为是一个很简单的扩展安装,没想到遇到N+个的问题,花了好久才解决,记下,太坑了,o(╯□╰)o。

  • 首先去下载php7源码包,官方传送门,点我
  • 解压后进入到imap目录 cd php-7.1.29/ext/imap
  • /usr/local/php/bin/phpize
  • ./configure -with-php-config=/usr/local/php/bin/php-config --with-imap --with-imap-ssl --with-kerberos
  • make && make install

记录几个在安装过程中出现的两个错误

  1. 在执行 ./configure编译时出现如下问题,configure: error: utf8_mime2text() has new signature, but U8T_CANONICAL is missing. This should not happen. Check config.log for additional information.

引起此问题主要是缺少libc-client引起的;在网上搜过,基本都是用yum安装相关的包,不过在我这边都没有用,最后自己去下了rpm包,终于安装成功;包如下:传送门,选择:libc-client-2007f-16.el7.x86_64.rpm此包。

如果上一个包安装后还是出现问题,再安装此包,包如下:备选包传送门,选择 uw-imap-devel-2007f-16.el7.x86_64.rpm此包。

  1. 在执行./configure编译时出现如下问题,configure: error: Cannot find imap library (libc-client.a). Please check your c-client installation.;解决如下:执行命令 ln -s /usr/lib64/libc-client.so /usr/lib/libc-client.so

如果还有其他问题,可以自行百度。

解决上面的问题后,再执行 ./configure -with-php-config=/usr/local/php/bin/php-config --with-imap --with-imap-ssl --with-kerberosmake && make install

安装完成后,修改php.ini配置,添加 extension=imap.so;之后重启apache,执行 php -m | grep imap,如果出现 imap即表示安装扩展成功。

    END