opencc opencc4php 简繁体扩展安装

2020年06月29日 23 次阅读 1 条评论 0 人点赞

公司的APP做了澳门、香港、珠海三个城市,用户在不同城市,APP接口返回的数据需要做动态转换,用了线上的一些翻译接口,但请求太过频繁,而且有些转换繁体不区分香港繁体和台湾繁体会导致有些字出现错别字,索性就用opencc吧,opencc的话还需要装opencc4php。opencc4php 是 OpenCC 的PHP扩展,能很智能的完成简繁体转换。装的过程中如果遇到问题,百度和Google基本都可以解决问题

公司的APP做了澳门、香港、珠海三个城市,用户在不同城市,APP接口返回的数据需要做动态转换,用了线上的一些接口和其他扩展进行转换,但由于请求太过频繁,而且有些转换繁体不区分香港繁体和台湾繁体会导致有些错别字出现。索性就用opencc吧,opencc的话还需要装opencc4php。opencc4php 是 OpenCC 的PHP扩展,能很智能的完成简繁体转换。装的过程中如果遇到问题,百度和Google基本都可以解决问题。以下是安装过程

一些基本的组件先安装一个,git如果已安装可以忽略
# yum install doxygen cmake git

好了 开始安装opencc
# cd /usr/local # git git clone https://github.com/BYVoid/OpenCC.git # cd OpenCC/ # make # sudo make install

//中间有什么错的 自行解决 基本上都是一些依赖的组件,安装或者更新一下即可

然后开始 安装opencc4php
# cd /usr/local # git clone https://github.com/NauxLiu/opencc4php.git # cd opencc4php # phpize //具体的文件地址自行查找 # ./configure --with-opencc=/usr/local/OpenCC --with-php-config=/www/server/php/72/bin/php-config //自行修改 opencc目录和 php-config目录 # make test //测试有什么问题没有 # make # make install

make test 出错误的时候 看这里返回结果显示
Installing shared extensions: /www/server/php/72/lib/php/extensions/no-debug-non-zts-20170718/

修改php.ini 在php.ini 最下面添加这段代码 然后重启web 查看phpinfo CTRL+F 查找 opencc 如果有的话 就显示成功安装了。

[openCC] extension_dir =/www/server/php/72/lib/php/extensions/no-debug-non-zts-20170718 extension=opencc.so

重启php
# /etc/init.d/php-fpm restart
如果出现下面报错(没有该报错请忽略)
NOTICE: PHP message: PHP Warning: PHP Startup: Unable to load dynamic library 'opencc.so' (tried: /www/server/php/72/lib/php/extensions/no-debug-non-zts-20170718/opencc.so (libopencc.so.1.1: cannot open shared object file: No such file or directory), /www/server/php/72/lib/php/extensions/no-debug-non-zts-20170718/opencc.so.so (/www/server/php/72/lib/php/extensions/no-debug-non-zts-20170718/opencc.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0

或者 libopencc.so版本是 libopencc.so.2的,可能是无法建立libopencc文件软连接,下面软连接命令替换为(ln -s /usr/lib/libopencc.so.2 /usr/lib64/libopencc.so.2)

[root@idc local]# which opencc
/usr/bin/opencc
[root@idc local]# ldd /usr/bin/opencc
linux-vdso.so.1 => (0x00007ffe3e12c000)
libopencc.so.1.1 => not found
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f545d2ae000)
libm.so.6 => /lib64/libm.so.6 (0x00007f545cfac000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f545cd96000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f545cb79000)
libc.so.6 => /lib64/libc.so.6 (0x00007f545c7ac000)
/lib64/ld-linux-x86-64.so.2 (0x00007f545d5c3000)
[root@idc local]# ln -s /usr/lib/libopencc.so.1.1 /usr/lib64/libopencc.so.1.1
[root@idc local]# ldd /usr/bin/opencc
linux-vdso.so.1 => (0x00007ffca91ce000)
libopencc.so.1.1 => /lib64/libopencc.so.1.1 (0x00007f42c9808000)
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f42c9501000)
libm.so.6 => /lib64/libm.so.6 (0x00007f42c91fe000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f42c8fe8000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f42c8dcc000)
libc.so.6 => /lib64/libc.so.6 (0x00007f42c89fe000)
/lib64/ld-linux-x86-64.so.2 (0x00007f42c9a8c000)
[root@idc local]# opencc --version
Open Chinese Convert (OpenCC) Command Line Tool
Version: 1.1.1
[root@idc local]# echo '美國國家海洋和大氣管理局' | opencc -c t2s
美国国家海洋和大气管理局

重启php
[root@idc local]# /etc/init.d/php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm done

这里既安装成功!

到此结束 下面是opencc4php的介绍
demo.php代码
$od = opencc_open("s2t.json"); //传入配置文件名 $text = opencc_convert("美国国家海洋和大气管理局", $od); echo $text;//美國國家海洋和大氣管理局 opencc_close($od);

函数列表
opencc_open(string ConfigName) ConfigName:配置文件名,成功返回资源对象,失败返回false opencc_close(resource ob) 关闭资源对象,成功返回true,失败返回false. 成功后od会置为NULL opencc_error() 返回最后一条错误信息,有错误信息返回String,无错误返回false opencc_convert(string str, resource od) str:要转换的字符串(UTF-8),od:opencc资源对象

可用配置
s2t.json 简体到繁体 t2s.json 繁体到简体 s2tw.json 简体到台湾正体 tw2s.json 台湾正体到简体 s2hk.json 简体到香港繁体(香港小学学习字词表标准) hk2s.json 香港繁体(香港小学学习字词表标准)到简体 s2twp.json 简体到繁体(台湾正体标准)并转换为台湾常用词汇 tw2sp.json 繁体(台湾正体标准)到简体并转换为中国大陆常用词汇

讲梦想、讲奋斗可以,前提是钱要给够。

文章评论(1

  • 刘星星Lv 1

    还有简繁扩展啊,以前都是用的线上转换来对简体繁体进行操作,请求量多了就无法请求,特别不方便,现在试试这个。

    #12020-06-30 08:52
  • 接收回复邮件通知
    非注册会员初次评论需要审核,审核时间(09:00-18:00),请耐心等待...