質問するログイン新規登録

Q&A

0回答

2123閲覧

【PHP/MeCab】Apacheでphp-MeCabを使いたい。MeCabのバージョンが違う場合はどうすればいい?

nnahito

総合スコア2016

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Mecab

Mecabは、オープンソースの形態素解析エンジンです。 言語、辞書、コーパスに依存しない汎用的な設計を基本方針としています。 Mecabの由来は、開発者の好物である和布蕪(めかぶ)から名づけられました。

0グッド

0クリップ

投稿2017/02/09 14:39

編集2017/02/09 14:42

0

0

はじめに

申し訳ありませんが、完全なる初心者です。
用語等、簡単にして頂けると助かります。

質問

MeCabをPHPで使いたいので、

sudo make installしました。

そして以下のPHPコードをMacの/Users/ユーザ名/Sites/で、実行したのですが、「接続がリセットされました」(FireFox表示)が表示されます。

php

1<?php 2 3//phpinfo(); 4 5$str = 'なんで、MeCabコマンドは動くし、Python+MeCabは動くのに、PHP-MeCabは動かんのじゃ!!!'; 6$options = array('-d', '/usr/local/lib/mecab/dic/ipadic'); 7 8$mecab = new MeCab_Tagger($options); 9$nodes = $mecab->parseToNode($str); 10 11foreach ($nodes as $n) 12{ 13 echo $n->getSurface() . "<br />"; 14 echo $n->getFeature() . "<br />"; 15} 16?> 17

ずっと原因を探っているのですが、これかなというものを発見。
以下の図は、php_info();の表示の一部です。

イメージ説明

MeCab LibraryのCompiledとLinkedのバージョンが違います。
これが何を指しているのか、私の今の知識では分かりませんが、これのせいでしょうか?
もし、これが原因であれば、どのようにして修正するのでしょうか?

ご存じの方がいらっしゃいましたら、ご教示頂けますと幸いです。
また、他に必要な情報があれば、おっしゃって頂けますと幸いです。


なお、ターミナル上でMeCabは正しい動作をしますし、Python(2系)とMeCabのバインドはできており、Pythonから形態素解析を行うことはできます。
ただし、localhost(Apache)でPython+MeCabを動かそうとすると、同様のエラーが表示されます。

環境

  • MacOS X Yosemite (10.10.5)
  • PHP 5.5.36 (cli) (built: Jun 12 2016 23:47:46)
  • mecab of 0.996

参考サイト様

過去の似た自分の質問

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.29%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問