在PHP 5.3.13上的Gettext扩展在OSX 10.8 Mountain Lion

我最近买了一台新的MacBook,我试图configuration它的PHP开发。

操作系统是OSX 10.8 Mountain Lion,我使用内置的Apache2和PHP 5.3.13堆栈。

我需要安装一些扩展:mcrypt和intl。 两者都是由我重新编译的(来自PECL或PHP 5.3.13的压缩包,使用“phpize”,然后是“./configure”等),并完全安装和激活。

我遇到了gettext扩展的问题。 我试图使用包含在PHP 5.3.13 tarball中的一个,我可以编译并安装它。 这个扩展名被解释器成功加载了,但是…不起作用! 实际上,当我调用例如bindtextdomain函数时,我得到一个PHP错误,说它不存在。

另外,“make test”会返回一些错误。

依赖项(gettext库)是使用MacPorts(版本:0.18.1.1,修订版2)安装的。

任何提示? 谢谢。

我也曾经在最后一天磕磕绊绊。 从MacPorts安装了gettext( port install gettext )并尝试从正确的php源代码中configurationphp-gettext,它会创build扩展名,但是只有gettext()和bindtextdomain()函数在php中可用。

仔细看一下configure的输出显示的行,比如checking for ngettext in -lintl... no

一位同事指出,Mac有它自己的精简版gettext,所以计算出configuration使用libintl来检查MacPorts版本的库。

在论坛上发布的一些信息回答了FreeBSD上不同软件有类似问题的人向我展示了一些标志,强迫它首先查看MacPorts目录。 我使用下面的configuration行,现在所有的gettext函数都可以在PHP中使用:

 ./configure --with-gettext=/opt/local CFLAGS=-I/opt/local/include CPPFLAGS=-I/opt/local/include LDFLAGS=-L/opt/local/lib 

另一种方法是使用Zend Server for Mac 。