一 安装libiconv,这个是libdatrie的依赖项
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gztar zxvf libiconv-1.14.tar.gzcd libiconv-1.14./configuremakemake 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’
./configure LDFLAGS=-L/usr/local/lib LIBS=-libiconv 这个目前在虚拟机上不好用(真实服务器不存在)
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.tarcd trie/usr/local/php/bin/phpize./configure --with-php-config=/usr/local/php/bin/php-configmakemake 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