さくらでMeCab PHP extension
** 修正 08/12/24 **
** 追加 08/12/29 **
さくらでMeCab PHP extensionをインストールしたので,メモ(自分の環境がデフォルトとかなり違うので,再現性があるか分かりませんが)
MeCabインストール
ダウンロードはこちらから
tar zxfv mecab-0.9.7.tar.gz cd mecab-0.9.7 ./configure --prefix=$HOME --with-charset=utf8 make make check make install
辞書も
tar zxfv mecab-ipadic-2.7.0-20070801 cd mecab-ipadic-2.7.0-20070801 ./configure --prefix=$HOME --with-charset=utf-8 # どうもUTF8になっていないみたいなのでnkfで直接変換 (08/12/24追加) find . -type f -print0 | xargs -0 nkf -w -Lu --overwrite make make install
MeCab extensionインストール
いよいよextensionインストール–with-mecabがないと怒られた
wget http://www.opendogs.org/pub/php_mecab-0.3.0.tgz tar zxvf php_mecab-0.3.0.tgz cd php_mecab-0.3.0 phpize ./configure make make install
でOK.
php.iniに追加
最後の一仕事
echo "extension=mecab.so" >> ~/www/php.ini
phpinfoに

が出てれば成功.
辞書ファイルの設定をしておくなら
mecab.default_dicdir="/home/*****/lib/mecab/dic/ipadic"
を追加
コマンドラインでテスト(2008/12/29追加)
sample.php
<?php $str = "おじいさんは山へ芝刈りにおばあさんは川 へ洗濯に行きました。"; $mecab = new MeCab_Tagger(); for ($node = $mecab->parseToNode($str); $node; $node = $node->getNext()) { printf("%s %s" . PHP_EOL, $node->getSurface(), $node->getFeature()); }
実行すると
$ php -c ~/www/php.ini sample.php BOS/EOS,*,*,*,*,*,*,*,* おじいさん 名詞,一般,*,*,*,*,おじいさん,オジイサン,オジーサン は 助詞,係助詞,*,*,*,*,は,ハ,ワ 山 名詞,一般,*,*,*,*,山,ヤマ,ヤマ へ 助詞,格助詞,一般,*,*,*,へ,ヘ,エ 芝 名詞,一般,*,*,*,*,芝,シバ,シバ 刈り 名詞,接尾,一般,*,*,*,刈り,ガリ,ガリ に 助詞,格助詞,一般,*,*,*,に,ニ,ニ おばあさん 名詞,一般,*,*,*,*,おばあさん,オバアサン,オバーサン は 助詞,係助詞,*,*,*,*,は,ハ,ワ 川 名詞,一般,*,*,*,*,川,カワ,カワ へ 助詞,格助詞,一般,*,*,*,へ,ヘ,エ 洗濯 名詞,サ変接続,*,*,*,*,洗濯,センタク,センタク に 助詞,格助詞,一般,*,*,*,に,ニ,ニ 行き 動詞,自立,*,*,五段・カ行促音便,連用形,行く,イキ,イキ まし 助動詞,*,*,*,特殊・マス,連用形,ます,マシ,マシ た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ 。 記号,句点,*,*,*,*,。,。,。 BOS/EOS,*,*,*,*,*,*,*,*
文字化けせず表示されていればOK(ソースコードと端末の文字コードもUTF-8に合わせないといけないけど)




[...] the original: Making The Road Blog - さくらでMeCab PHP extension Share and [...]