我有一台全新的Mac,预装了Lion。 我启用了Apache,PHP模块。
phpinfo()
有效,但不支持gettext。
在php.ini中编写extension=php_gettext.so
没有帮助。
所以我尝试在文件系统中locate
,但似乎没有可用的PHP扩展。
OS X Lion中的PHP扩展名在哪里?
答案 0 :(得分:7)
编辑:只要您使用最新版本更新 MAMP,只需经过测试,仍适用于Mavericks 。这是完整的教程:
我设法使用来自MAMP的gettext.so
与Mac OS X Apache / PHP本机服务器一起工作。以下是如何做到这一点:
将为PHP 5.5.10构建的MAMP gettext.so复制到Mavericks的本地php扩展文件夹:
sudo cp /Applications/MAMP/bin/php/php5.5.10/lib/php/extensions/no-debug-non-zts-20100525/gettext.so /usr/lib/php/extensions/no-debug-non-zts-20100525/
通过添加以下新行来更新Mavericks的/etc/php.ini
文件:
extension=/usr/lib/php/extensions/no-debug-non-zts-20100525/gettext.so
重启apache:
sudo apachectl restart
之后,您可以使用_()
和gettext()
个功能。
感谢@MountainAsh注意到我们无法在此过程之后删除MAMP,因为gettext使用了一个MAMP库。
答案 1 :(得分:1)
以root用户身份(或之前发出sudo -s):
mkdir -p / SourceCache
cd / SourceCache
curl -O http://ftp.gnu.org/pub/gnu/gettext/gettext-0.17.tar.gz
tar xzf gettext-0.17.tar.gz
cd gettext-0.17
MACOSXDEPLOYMENTTARGET = 10.6 CFLAGS =“ - arch i386 -arch x86_64 -g -Os -pipe -no-cpp-precomp”CCFLAGS =“ - arch i386 -arch x86_64 -g -Os -pipe”CXXFLAGS =“ - arch i386 -arch x86_64 -g -Os -pipe“LDFLAGS =” - arch i386 -arch x86_64 -bindatload“./ configure
请
make install
cd / SourceCache
curl -O http://www.opensource.apple.com/source/apachemod_php/apache_modphp-53/php-5.3.0.tar.bz2
tar xjf php-5.3.0.tar.bz2
cd /SourceCache/php-5.3.0/ext/gettext
phpize
MACOSXDEPLOYMENTTARGET = 10.6 CFLAGS =“ - arch i386 -arch x86_64 -g -Os -pipe -no-cpp-precomp”CCFLAGS =“ - arch i386 -arch x86_64 -g -Os -pipe”CXXFLAGS =“ - arch i386 -arch x86_64 -g -Os -pipe“LDFLAGS =” - arch i386 -arch x86_64 -bindatload“./ configure
制作
make install
完成后,编辑/创建/etc/php.ini并添加: 延长= / usr / lib中/ PHP /扩展/无调试非ZTS-20090626 / gettext.so
下一期: sudo apachectl graceful
祝你好运!答案 2 :(得分:0)
/usr/lib/php/extensions/
你会在这里找到他们......
gettext似乎没有包含在Lion的PHP版本中。
答案 3 :(得分:0)
对我来说,从http://php-osx.liip.ch重新安装当前的PHP版本(OS X 10.10.5 Yosemite上的5.5.29)是最简单的解决方案 - 不再需要构建我自己的gettext.so扩展。< / p>