facebook twitter hatena line email

「Mecab」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
 
行4: 行4:
  
 
[[mecab/php7実装]]
 
[[mecab/php7実装]]
 
==php7.0でmecabを動かす==
 
php7でmecabを動かそうとすると以下エラーが出る
 
PHP Fatal error:  Uncaught Error: Call to undefined function mecab_split()
 
 
こちらにphp7で対応されてるphp_mecabがあるとのことだったので入れてみた
 
 
参考:https://twitter.com/rsky/status/672877419674468352 https://github.com/rsky/php-mecab
 
$ cd /usr/local/src
 
$ git clone https://github.com/rsky/php-mecab
 
$ cd php-mecab/mecab
 
$ phpize
 
$ ./configure --with-mecab=/usr/local/bin/mecab-config
 
$ make
 
$ make test
 
$ sudo make install
 
Installing shared extensions:    /usr/lib64/php/modules/
 
$ php -r "print nl2br(print_r(mecab_split("すもももももももものうち")));"
 
PHP Warning:  Module 'mecab' already loaded in Unknown on line 0
 
PHP Fatal error:  Uncaught Error: Call to undefined function mecab_split() in Command line code:1
 
 
mecab_split()ではなく\MeCab\split()に変更されている様子。
 
 
$ php -r "print_r(\MeCab\split("すもももももももものうち"));"
 
Array
 
(
 
    [0] => すもも
 
    [1] => も
 
    [2] => もも
 
    [3] => も
 
    [4] => もも
 
    [5] => の
 
    [6] => うち
 
)
 
参考:https://teratail.com/questions/27491
 
 
MeCab_Taggerも変更
 
Fatal error: Uncaught Error: Class 'MeCab_Tagger' not found
 
// $mecab = new MeCab_Tagger(); // php5.6
 
$mecab = new \MeCab\Tagger(); // php7
 

2016年2月17日 (水) 19:06時点における最新版

mecab/インストール・実装

mecab/php5実装

mecab/php7実装