facebook twitter hatena line email

「Mecab」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
 
(同じ利用者による、間の3版が非表示)
行5: 行5:
 
[[mecab/php7実装]]
 
[[mecab/php7実装]]
  
==php7.0でmecabを動かす==
+
[[mecab/php8実装]]
php7でmecabを動かそうとすると以下エラーが出る
+
PHP Fatal error:  Uncaught Error: Call to undefined function mecab_split()
+
  
こちらにphp7で対応されてるphp_mecabがあるとのことだったので入れてみた
+
[[Mac/インストール/mecab]] [ショートカット]
  
参考:https://twitter.com/rsky/status/672877419674468352 https://github.com/rsky/php-mecab
+
[[Mac/インストール/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
+

2026年4月7日 (火) 11:18時点における最新版

mecab/インストール・実装

mecab/php5実装

mecab/php7実装

mecab/php8実装

Mac/インストール/mecab [ショートカット]

Mac/インストール/php-mecab [ショートカット]