安装opencc和opencc4php
1. 安装opencc
https://github.com/BYVoid/OpenCC
大概提前解除禁用函数比较好 putenv,proc_open,shell_exec
第一步安装一个需要用到的文档组件
centos
yum install doxygen
Debian 12,root登陆时不需要sudo
sudo apt update
sudo apt install doxygen
第二步安装opencc
cd /usr/local
git clone https://github.com/BYVoid/OpenCC.git
cd OpenCC/
make
sudo make install
安装opencc基本不会报错,如有报错,可能是组件缺失,请根据提示安装相应组件即可.
2. 安装opencc4php扩展
https://github.com/nauxliu/opencc4php
opencc4php是OpenCC的PHP扩展,能很智能的完成简繁体转换
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/74/bin/php-config (找到你对应的php路径,我这里安装的是7.4版本,如果你默认不是的话,修改到你php路径即可)
make test
make test 后可能会报错,解禁函数。也可能出现编码格式不对,但用debian 12时没有出现这个错误。
提示错误(没碰到过)
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/opencc4php/modules/opencc.so'
依次执行下面命令,安装默认路径下面的共享库
# cd /
# cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
# echo "/usr/local/opencc4php/modules" >> /etc/ld.so.conf
# ldconfig
上面错误解决完毕后接下来再次进入opencc4php
cd /usr/local
cd opencc4php
make
make install
命令行显示下面这个后,复制下面的路径
Installing shared extensions: /www/server/php/70/lib/php/extensions/no-debug-non-zts-20151012/
最后把刚刚复制的路径替换下面的extension_dir路径(因为php版本不同路径不一样)
[openCC]
extension_dir =/www/server/php/70/lib/php/extensions/no-debug-non-zts-20151012/
extension=opencc.so
最后再把上面这段代码复制粘贴到php.ini配置文件最后面,保存。
然后在版本管理下方有个phpinfo(或者直接输出一下phpinfo)测试是否已经成功安装,ctrl+f4查找opencc,查找成功则表示已经安装成功并启动生效了。
前端的生效需要重载php配置。
说明
demo示例,非常智能人性化,根据台湾习惯转换,而不是机械转换
<?php
$od = opencc_open("s2twp.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 繁体(台湾正体标准)到简体并转换为中国大陆常用词汇