我希望最新的PHP版本可以在新Macbook上使用,但是php安装默认情况下不包含imap功能。我需要一个特定的功能 - 即“imap_rfc822_parse_headers”功能,但我不想重新编译,构建和安装PHP(更不用说为事先安装c-client和imap.so所花费的精力) 。我担心复杂的程序(我发现每个程序都有所不同)可能会破坏我当前的安装,这绝不容易设置。
还有其他更简单的方法将imap安装到PHP中吗?在一个相关的说明中,是否可能有一个基于类的替代我需要的功能?
答案 0 :(得分:11)
我终于找到了解决方案。大部分都在这里: http://www.september28.co.uk/blog/2011/11/24/php-imap-support-in-mac-os-x-lion-without-recompiling-php/
我的机器是2011年末的Macbook Pro,配备MacOSX 10.7.4,PHP 5.4。通过以下说明安装:http://www.hirmet.com/mac-os-x-lion-upgrade-to-php-5-4
对于那些具有类似或相同设置的人来说,这是一步一步:
从此网址下载imap源代码,关注最近日期不以“Z”结尾的日期:ftp://ftp.cac.washington.edu/imap/
取消归档,进入文件夹,运行以下命令:
$ make osx EXTRACFLAGS="-arch i386 -arch x86_64 -g -Os -pipe -no-cpp-precomp"
上面的命令会向你发出一堆警告,但是应该成功完成,不像september28博客文章中最初建议的命令。
接下来,执行以下操作:
$ sudo cp c-client/*.h /usr/local/include/
$ sudo cp c-client/*.c /usr/local/lib/
$ sudo cp c-client/c-client.a /usr/local/lib/libc-client.a
完成此操作后,如果您像我一样进行自定义升级(根据答案中的第二个链接),请进入下载的php源文件夹,并为您的系统构建imap.so扩展。如果您没有构建自定义版本,只需下载已安装版本的PHP源代码,并使用它,这无关紧要。
$ cd ~/Downloads/Php-5.4.4/ext/imap
$ phpize
$ ./configure --with-imap==/usr/local/imap-2007 --with-kerberos --with-imap-ssl
$ make
完成后,请执行以下操作:
$ sudo cp modules/imap.so /usr/lib/php/extensions/no-debug-non-zts-20100525/
...或者如果你的PHP扩展文件夹不同,那就把它(你可以看到phpinfo()中的位置;)
重启apache,你应该准备好了。
$ sudo apachectl restart