php scws.dll php7,PHP5.5及PHP7安装SCWS-1.2.3高效分词组件(上)

前言:

为了折腾PHP分词从Windows版本到Linux版本爬了一个又一个的坑,SCWS 中文分词目前已经很快地与时俱进——立马支持了性能高出老版PHP整整3倍的PHP7,同时更新了2016版词库。本文主要列出一个安装纪要及部分困惑点的解决方法,供大家更方便的使用SCWS-1.2.3分词工具,避开坑与雷,同时也感谢作者的无私奉献,有你网络更精彩!

环境:

CentOS7.0 64bit

Web环境为LNMP

基于yum扩展源remi安装的Php7.0(php70-php-fpm)和Php5.5(php55-php-fpm)两PHP版本共存环境(需要了解如何安装共存环境的将另外发布攻略)

一、工具本身的安装

1、在官方网站下载SCWS 中文分词(http://www.xunsearch.com/scws/download.php)

Linux系的系统直接用下面的命令操作(本人用的是CentOS7 64bit):

wget http://www.xunsearch.com/scws/down/scws-1.2.3.tar.bz2

2、 解开压缩包

[root@AY8152859Z ~]# tar xvjf scws-1.2.3.tar.bz2

3、 进入目录执行配置脚本和编译

[root@AY8152859Z ~]# cd scws-1.2.3[hightman@d1 ~/scws-1.2.3]$ ./configure --prefix=/usr/local/scws ; make ; make install

注:这里和通用的 GNU 软件安装方式一样,具体选项参数执行 ./configure --help 查看。

常用选项为:--prefix=

4、 顺利的话已经编译并安装成功到 /usr/local/scws 中了,执行下面命令看看文件是否存在

[root@AY8152859Z ~]# ls -al /usr/local/scws/lib/libscws.la

5、 试试执行 scws-cli 文件看有没有返回正确的信息

[root@AY8152859Z ~]# /usr/local/scws/bin/scws -h

scws (scws-cli/1.2.3)

Simple Chinese Word Segmentation - Command line usage.

Copyright (C)2007 by hightman.

...

6、用 wget 下载并解压词典,或从主页下载然后自行解压再将 *.xdb 放入 /usr/local/scws/etc 目录中

[root@AY8152859Z ~]# cd /usr/local/scws/etc

[root@AY8152859Z ~]# wget http://www.xunsearch.com/scws/down/scws-dict-chs-gbk.tar.bz2

[root@AY8152859Z ~]# wget http://www.xunsearch.com/scws/down/scws-dict-chs-utf8.tar.bz2

[root@AY8152859Z ~]# tar xvjf scws-dict-chs-gbk.tar.bz2

[root@AY8152859Z ~]# tar xvjf scws-dict-chs-utf8.tar.bz2

理论上SCWS-1.2.3分词工具安装完毕,写C的同鞋可以写段官方提供的小程序测试一下分词效果。

二、SCWS-1.2.3分词工具的Php插件安装

首先,让我们来了解下官方在安装前的准备工作中模糊提到的几个概念吧:

autoconf:

是一个shell脚本的工具,可以自动地配置软件源代码包以适应多种UNIX类系统。由autoconf生成的配置脚本在运行的时候不需要用户的手工干预;通常它们甚至不需要手工给出参数以确定系统的类型。其中autoconf需要用到m4,便于生成脚本。

版本检测:

# autoconf --version

autoconf (GNU Autoconf) 2.69

Copyright (C) 2012 Free Software Foundation, Inc.

License GPLv3+/Autoconf: GNU GPL version 3 or later

, This is free software: you are free to change and redistribute it.

There is NO WARRANTY, to the extent permitted by law.

automake:

是一个从文件Makefile.am自动生成Makefile.in的工具。每个Makefile.am基本上是一系列make的宏定义。生成的Makefile.in,服从GNU Makefile标准。为了生成Makefile.in,automake还需用到perl(它本身就是一个perl程序)。

版本检测:

# automake --version

automake (GNU automake) 1.13.4

Copyright (C) 2013 Free Software Foundation, Inc.

License GPLv2+: GNU GPL version 2 or later This is free software: you are free to change and redistribute it.

There is NO WARRANTY, to the extent permitted by law.

Phpize:

phpize是用来扩展php模块的,通过phpize可以热编译php的PECL扩展模块 。一般情况是编译php时忘记添加某扩展,后来想添加扩展,而你又不想删除目录重装PHP的话,就可以使用phpize,比如你想在原来已经编译好可以正常运行的php中加入memcached或者别的扩展模块等。

英文好的朋友可以参看官方文档:http://php.net/manual/en/install.pecl.phpize.php

幸运的是CentOS7.0 64bit系统已经自带了上述两个工具,如何安装上述两款工具我就不在此展开了,感兴趣的朋友可以检索下《Linux下的Autoconf和AutoMake》这篇文章,那么接下来就只有Phpize这个问题了。

phpize在哪里?

现在的状况是本机的Php坏境是用的yum扩展源Remi直接安装的,当时的安装命令用的是:

`# yum --enablerepo=remi install php55-php-fpm~和 ~# yum --enablerepo=remi install php70-php-fpm~

上面两个包安装时会自动附加运行PHP时必要的依赖安装文件,相当于PHP的极简安装包,但是正是这个极简安装包在我们需要做扩展的时候就成了障碍了。

phpize一般在PHP安装目录的bin/目录下,但是,当我定位到安装目录/opt/remi/php55/root/时并没有发现bin目录里有任何文件或文件夹,Php7的情况同样如此,目录/opt/remi/php7/root/bin/下面没有任何东西。因此我在想Remi源这么多用户因该是有解决方案的,所以检索了Remi源下所有的与之相关的扩展包的情况,果然有发现:

php55.x86_64 : Package that installs PHP 5.5

php70.x86_64 : Package that installs PHP 7.0

我试着安装了上面两个包,这两个包安装后并不会影响到原来安装和配置好的PHP环境,且解决了没有phpize的问题。

安装命令如下(Php5.5):

# yum --enablerepo=remi install php55.x86_64

或者你如果是Php7.0的话就用如下命令:

# yum --enablerepo=remi install php70.x86_64

补充:

上面解决了没有Phpize的问题,但在编译生成插件时还是出现了错误提示需要php-devel版本的包,因此,我又安装了下面的Php-Devel包,在没有破坏原有Php环境的前提下无缝地、圆满地解决问题。不过,理论上讲应该用不着装上面的php55.x86_64的包,只用装php55-php-devel.x86_64这个就可以了,鉴于时间关系只能以后再试了。

php55-php-devel.x86_64 : Files needed for building PHP extensions

php70-php-devel.x86_64 : Files needed for building PHP extensions

安装命令如下(Php5.5):

# yum --enablerepo=remi install php55-php-devel.x86_64

如果你是Php7.0的话就用如下命令:

# yum --enablerepo=remi install php70-php-devel.x86_64

好了,这里讲完了安装scws分词工具php插件的安装前提,接下来我们将开始正式用phpize编译安装Php的SCWS插件了!

Tag:Php分词, SCWS, 分词技术

发布时间:2015年10月21日

博客被黑,挪窝安家……

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值