|
|
| (同じ利用者による、間の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 [ショートカット]