我希望最新的 PHP 版本可以在新的 Macbook 上使用,但默认情况下 php 安装不包括 imap 函数。我需要一个特定的函数——即“imap_rfc822_parse_headers”函数,但我不想为此重新编译、构建和安装 PHP(更不用说预先安装 c-client 和 imap.so 所花费的精力) .我担心复杂的程序(我发现的每个程序都有些不同)可能会弄乱我当前的安装,这绝不是容易设置的。
有没有其他更简单的方法可以将 imap 安装到 PHP 中?与此相关,对于我需要的功能,是否有基于类的替代方案?
最佳答案
我终于找到了解决方案。大部分都在这里: 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
关于php - 在 PHP 中使用 imap 函数而无需重建和重新安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11158162/