您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

怎么为PHP编译imap扩展?

2024/3/16 13:40:59发布17次查看
为php编译imap扩展的方法:首先安装“imap-open2007e”;然后下载源代码;接着准备好系统的“imap-open”环境;最后进入“./ext/extension/imap/”文件夹下执行“make”命令即可。
怎么为php编译imap扩展?
最近为项目增加了邮箱登陆的验证,本地测试ok,部署至服务器上提示 imap_open 为未定义函数,由此可知缺少了imap的php扩展。
解决办法,首先看官网的安装说明,原来需要提前安装 imap-open2007e 才行。从 ftp://ftp.cac.washington.edu/imap/ 的网站上下载了源代码,但是这个的安装却让我比较头疼,因为没有 configure 文件,也没有一个说明文档。参考了其他朋友的办法,使用了下面的方法:
wget ftp://ftp.cac.washington.edu/mail/imap.tar.ztar zxf imap.tar.zcd imap-2007amake lr5 passwdtype=std ssltype=unix.nopwd ip6=4echo "set disable-plaintext nil" > /etc/c-client.cfmkdir /usr/local/imap-2007amkdir /usr/local/imap-2007a/include/mkdir /usr/local/imap-2007a/lib/chmod -r 077 /usr/local/imap-2007arm -rf /usr/local/imap-2007a/include/*rm -rf /usr/local/imap-2007a/lib/*rm -rf /usr/sbin/imapdcp imapd/imapd /usr/sbin/cp c-client/*.h /usr/local/imap-2007a/include/cp c-client/*.c /usr/local/imap-2007a/lib/cp c-client/c-client.a /usr/local/imap-2007a/lib/libc-client.a
他这个过程中 rm –rf 的过程,我觉得是防止这几个目录中有其他不必要的文件,所以创建了文件夹后,又做了一次删除操作。完成这个过程之后,系统的 imap-open 环境就准备好了,进行php扩展的安装。
我这里因为已经安装了php,而且我也不想重新编译整个环境,所以我只需要编译这个扩展就行。系统中的php为5.2.9版本,找到对应版本的源代码,进入 ./ext/extension/imap/文件夹下,执行下面的步骤:
/usr/local/apache/bin/phpize./configure --with-php-config=/usr/local/apache/bin/php-config --prefix=/usr/local/apache/ --with-imap=/usr/local/imap-2007e/ –with-imap-sslmakemake install
完成后,在php的extension/no-debug-non-zts-xxx 下就能看到编译好的so文件,添加到 php.ini 中,重启服务器,就可以看到imap 模块启动了。
更多相关技术文章,请访问!
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product