Home > Article > Backend Development > php分享之trie_filter扩展模块安装
一 安装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