加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 为什么OS X上缺少gettext别名_()?

发布时间:2020-12-13 21:42:59 所属栏目:PHP教程 来源:网络整理
导读:我正在运行OS X Lion,我的一些代码使用了_()的gettext别名,但是我得到了这个错误 Fatal error: Call to undefined function _() 这是我的环境 PHP 5.3.6 with Suhosin-Patch (cli) (built: Jun 25 2011 10:41:21) Copyright (c) 1997-2011 The PHP GroupZend
我正在运行OS X Lion,我的一些代码使用了_()的gettext别名,但是我得到了这个错误

Fatal error: Call to undefined function _()

这是我的环境

PHP 5.3.6 with Suhosin-Patch (cli) (built: Jun 25 2011 10:41:21) 
Copyright (c) 1997-2011 The PHP Group
Zend Engine v2.3.0,Copyright (c) 1998-2011 Zend Technologies
      with Xdebug v2.1.1,Copyright (c) 2002-2011,by Derick Rethans

我尝试使用php选项suhosin.simulation = On但这并没有改变任何东西所以它似乎不是Suhosin-Patch.

解决方法

对于记录……这是您向OS X Lion添加gettext的方法

安装ICU

Download ICU

运行这些命令

tar xzvf icu4c-4_8_1-src.tgz
cd icu/source
./runConfigureICU MacOSX
make
sudo make install

Download PHP 5.3.6 sources

运行这些命令

tar -zxf php-5.3.6.tar.gz
cd ext/intl
phpize
./configure --enable-intl
make
sudo cp modules/intl.so /usr/lib/php/extensions/no-debug-non-zts-20090626/

把它放在你的php.ini文件中

extension=intl.so

安装Gettext

Download Gettext

运行这些命令

tar -zxf gettext-0.18.1.1.tar.gz
cd  gettext-0.18.1.1

Apple will not ship Gettext and Intl the problem is that Gettext apparently defines Stpncpy function,as does something in Lion.

您需要打开gettext-tools / gnulib-lib / stpncpy.c并将stpncpy的所有引用更改为stpncpy2

然后运行这些命令

./configure
make
sudo make install

回到PHP源目录:

运行这些命令

cd ext/gettext
phpize
./configure --with-gettext
make
sudo cp modules/gettext.so /usr/lib/php/extensions/no-debug-non-zts-20090626/

并将其添加到php.ini文件中:

extension=gettext.so

参考文献:
http://www.ittreats.com/os/php/php-with-intl-and-gettext-on-osx-lion-bertrand-mansion.html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读