PHPでMeCabを使う
PHPでMeCabを使うにあたり、いろいろとつまづいたからメモ的に残しておこうって記事。
参考にしたページは
MeCab: Yet Another Part-of-Speech and Morphological Analyzer
http://www.programming-magic.com/20080808173652/:MeCabで形態素解析してみた
やべぇ、間に合わねぇwww Apache2.2とPHP5.3でMecabを動かす(Ubuntu 10.04)
php_mecabのインストールに凄くハマりました(時間を費やしたという意味で)
ちなみに環境は
Ubuntu 11.10
Apache2.2.20
PHP5.3.6
PHPではPEARが使えるようにしておく
まず、MeCabのインストールから
注意することは、最新の0.99じゃなくて0.98を使うこと。
php_mecabのインストールに凄くハマりました(時間を費やしたという意味で)で説明がある通り、最新版だと
MeCab::Node:(begin|end)_node_list メンバの削除
のため、後から導入するモジュール的なものが動かないらしい。
そのため、MeCabのバージョンは0.98とする。
Mecabの前にCコンパイラがインストールされていない場合インストールする
apt-get install make g++
ひとまずMeCab0.98のインストール
utf-8環境で動かすことを想定。
$wget http://mecab.googlecode.com/files/mecab-0.98.tar.gz $tar zxvf mecab-0.98.tar.gz $cd mecab-0.98 $./configure --with-charset=utf8 $make $make install
これでインストール完了
$MeCab
してみるとたぶんエラー吐かれると思うので
ライブラリをシステムに認識させるために
$ldconfig
すればOK
次に辞書のインストール
$wget http://mecab.googlecode.com/files/mecab-ipadic-2.7.0-20070801.tar.gz $tar zxfv mecab-ipadic-2.7.0-20070801.tar.gz $mecab-ipadic-2.7.0-20070801 $./configure --with-charset=utf8 $make $make install
たぶんこれで辞書のインストール完了
$MeCab
して適当な文字列入れると解析されるはず。
$pear channel-discover pecl.opendogs.org $pear remote-list -c opendogs $pear install opendogs/mecab-beta
でインストールできるはず。
できない場合php5-devを導入
$apt-get install php5-dev
うまくいってるとextension=mecab.soを加えてねってメッセージが出ると思うから
php.iniに追加。
php.iniの場所はphpinfoなりで見ればわかるはず。
ちなみに私の環境では/etc/php5/apache2/php.ini
に
適当な場所に変更を加えてapache2を再起動して
http://www.programming-magic.com/20080808173652/:MeCabで形態素解析してみた
のサンプルプログラム動かせばうごくはず
//本当は新はてなブログで書こうと思ったんだけど、めんどくさくなってこっちで書いた