公司用到一个网站,要求支持英文和中文,在线做一些字段翻译时,phpinfo.php提示服务器的gettext扩展没有打开。
做如下处理:
1.为现有PHP系统安装gettext扩展:
找到当前系统中PHP的安装目录中的phpize,比如: /usr/local/php/bin/phpize,下面要使用绝对路径;
进入PHP安装文件包 cd ext/gettext;
运行 :/usr/local/php/bin/phpize
运行:./configure -with-php-config=/usr/local/php/bin/php-config
运行:make && make install
2.在php.ini中加入:extension=gettext.so
3.重启php-fpm
到这里已经可以支持多语言了。但是,要实现在线修改PO,MO文件,或许还不行。
运行命令 locale -a 发现系统并没有支持zh_cn.utf-8,而是各种英文:
C
C.UTF-8
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZM
en_ZM.utf8
en_ZW.utf8
做如下操作:
1. apt-get -y install language-pack-zh-hans 【中文简体,当然也可以安装繁体或其他字体】
2. dpkg-reconfigure locales
3. locale -a 发现已经有zh_CN.UTF-8
4. service php-fpm restart
现在已经完美解决这个问题了!