欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php分享之trie_filter扩展模块安装

程序员文章站 2022-05-17 20:44:36
...
一 安装libiconv,这个是libdatrie的依赖项

wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz

tar zxvf libiconv-1.14.tar.gz

cd libiconv-1.14

./configure

make

make install

二 安装:libdatrie (http://linux.thai.net/~thep/datrie/datrie.html#Download)

tar zxf libdatrie-0.2.4.tar.gz

cd libdatrie-0.2.4

./configure --prefix=/usr/local

make

make install

编辑过程中的问题汇总

1编译出现错误 trietool.c:125: undefined reference to `libiconv'

[sourcecode language="plain"]./configure LDFLAGS=-L/usr/local/lib LIBS=-libiconv 这个目前在虚拟机上不好用(真实服务器不存在)[/sourcecode]

2 configure: error: C compiler cannot create executable 这个错误一般没有安装gcc

yum install gcc gcc-c++

3 libiconv.so.2: cannot open shared object file 代表找不到libiconv.so.2 解决方案

在/etc/ld.so.conf中加一行/usr/local/lib,

然后运行/sbin/ldconfig,文件解决,没有报错了~~

到此位置trie_filter安装陈功

三 安装PHP扩展

tar xvf trie_filter-2011-03-21.tar

cd trie

/usr/local/php/bin/phpize

./configure --with-php-config=/usr/local/php/bin/php-config

make

make install

四 生成敏感词词典

首先你需要把需要检测的敏感词写入到一个文本文件中(如:minganci.txt),每行一个敏感词,然后使用上一步生成的 dpp 程序处理这个文本文件来生成词典

./dpp txt_file_path dict_file_path

(例:./dpp /home/like/software/minganci.txt minganci.dic)

生成过程中出现的问题

1./dpp: error while loading shared libraries: libdatrie.so.1: cannot open shared object file: No such file or directory

#vi /etc/ld.so.conf 在里面加入:/usr/local/lib

然后运行:#/sbin/ldconfig,即解决

最后再:./dpp /home/like/software/minganci.txt minganci )

备注:如果需要支持中文的话 则替换扩展包的内容php-ext-trie-filter-maste_support_ch