5

我希望最新的 PHP 版本可以在新的 Macbook 上使用,但是默认情况下 php 安装不包括 imap 函数。我需要一个特定的函数 - 即“imap_rfc822_parse_headers”函数,但我不想为此重新编译、构建和安装 PHP(更不用说预先安装 c-client 和 imap.so 所需的努力) . 我担心复杂的程序(我发现每个程序都有些不同)可能会弄乱我当前的安装,这绝不是容易设置的。

有没有其他更简单的方法将 imap 安装到 PHP 中?在相关的说明中,是否有基于类的替代我需要的功能?

4

1 回答 1

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

对于具有相似或相同设置的用户,以下是分步说明:

从这个 url 下载 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
于 2012-06-22T15:07:36.613 回答