̃Gg[͂ĂȃubN}[Nɒlj

Mecab :: Mecab のインストール(PHP7編)



MeCabとは

MeCabはオープンソースの形態素解析エンジンで、Google 日本語入力開発者の一人である工藤拓氏によって開発されている。名称は開発者の好物「和布蕪(めかぶ)」から取られた。
by Wikipedia


  • mecab_split関数 → \MeCab\split関数
PHP7 から「mecab_split関数」が廃止され「\MeCab\split関数」へと変更になりました。


今回は PHP の関数 \MeCab\split が使えるようになればOKとします。
以下の流れとなります。

  1. MeCab のインストール
  2. IPAdic のインストール
  3. php_mecab のインストール
  4. \MeCab\split 関数(PHP)のテスト


MeCab のインストール

% wget "https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7cENtOXlicTFaRUE" -O mecab-0.996.tar.gz
% tar zxfv mecab-0.996.tar.gz
% cd mecab-0.996
% ./configure --enable-utf8-only
% make
% sudo make install
  • バージョン確認
% mecab --version
mecab of 0.996


IPAdic のインストール

% wget http://sourceforge.net/projects/mecab/files/mecab-ipadic/2.7.0-20070801/mecab-ipadic-2.7.0-20070801.tar.gz
% tar zxvf mecab-ipadic-2.7.0-20070801.tar.gz
% cd mecab-ipadic-2.7.0-20070801
% ./configure --with-mecab-config=/usr/local/bin/mecab-config --prefix=/usr/local/ --with-charset=utf8
% make
% sudo make install
  • 辞書の確認
% ls -l /usr/local/lib/mecab/dic/ipadic


php_mecab のインストール

% git clone https://github.com/rsky/php-mecab.git
% cd php-mecab/mecab/
% phpize
% ./configure --with-mecab=/usr/local/bin/mecab-config
% make
% make test
% sudo make install
  • phpize で下記のエラーが出る場合
autom4te: /usr/bin/m4 failed with exit status: 63
  • 以下で回避できます。
% curl -L -O http://ftp.gnu.org/gnu/autoconf/autoconf-latest.tar.gz
% tar zxvf autoconf-latest.tar.gz
% cd autoconf-2.69/
% ./configure
% make
% sudo make install
  • 「./configure」でエラーが出る場合
--with-mecab のパス「/usr/local/bin/mecab-config」が正しいか確認してください。


  • mecab.so の確認
% ls -l /usr/lib64/php/modules/mecab.so
  • mecab.so を PHP のエクステンションとして登録する
% sudo vi /etc/php.d/mecab.ini
extension=mecab.so
  • apache リロード
% sudo service httpd reload


\MeCab\split 関数(PHP)のテスト

% php -r '$s =\MeCab\split("テストTEST日本の四季"); var_dump($s);'
array(5) {
  [0]=>
  string(9) "テスト"
  [1]=>
  string(4) "TEST"
  [2]=>
  string(6) "日本"
  [3]=>
  string(3) "の"
  [4]=>
  string(6) "四季"
}





oss/mecab_php7/install.txt