php-mecab 0.6.0 再インストール × PHP7

形態素解析MeCab

 状態:-  閲覧数:1,506  投稿日:2016-03-10  更新日:2016-03-11
$ cd php-mecab/mecab/  
                                                                                                                           
$ phpize
Configuring for:
PHP Api Version:         20151012
Zend Module Api No:      20151012
Zend Extension Api No:   320151012


./configure --with-php-config=/opt/remi/php70/root/usr/bin/php-config --with-mecab=/usr/local/bin/mecab-config

Libraries have been installed in:
・/home/★★/php-mecab/mecab/modules
$ make
/bin/sh /home/★★/php-mecab/mecab/libtool --mode=install cp ./mecab.la /home/★★/php-mecab/mecab/modules
libtool: install: cp ./.libs/mecab.so /home/★★/php-mecab/mecab/modules/mecab.so
libtool: install: cp ./.libs/mecab.lai /home/★★/php-mecab/mecab/modules/mecab.la
libtool: finish: PATH="/home/★★/.rvm/gems/ruby-2.0.0-p247/bin:/home/★★/.rvm/gems/ruby-2.0.0-p247@global/bin:/home/★★/.rvm/rubies/ruby-2.0.0-p247/bin:/opt/remi/php70/root/usr/bin:/opt/remi/php70/root/usr/sbin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/★★/bin:/home/★★/.rvm/bin:/sbin" ldconfig -n /home/★★/php-mecab/mecab/modules
----------------------------------------------------------------------
Libraries have been installed in:
  /home/★★/php-mecab/mecab/modules

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
  - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
    during execution
  - add LIBDIR to the `LD_RUN_PATH' environment variable
    during linking
  - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
  - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------

Build complete.
Don't forget to run 'make test'.


$ sudo make install
[sudo] password for ★★: 
/bin/sh /home/★★/php-mecab/mecab/libtool --mode=install cp ./mecab.la /home/★★/php-mecab/mecab/modules
libtool: install: cp ./.libs/mecab.so /home/★★/php-mecab/mecab/modules/mecab.so
libtool: install: cp ./.libs/mecab.lai /home/★★/php-mecab/mecab/modules/mecab.la
libtool: finish: PATH="/home/★★/.rvm/gems/ruby-2.0.0-p247/bin:/home/★★/.rvm/gems/ruby-2.0.0-p247@global/bin:/home/★★/.rvm/rubies/ruby-2.0.0-p247/bin:/opt/remi/php70/root/usr/bin:/opt/remi/php70/root/usr/sbin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/★★/bin:/home/★★/.rvm/bin:/sbin" ldconfig -n /home/★★/php-mecab/mecab/modules
----------------------------------------------------------------------
Libraries have been installed in:
  /home/★★/php-mecab/mecab/modules

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
  - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
    during execution
  - add LIBDIR to the `LD_RUN_PATH' environment variable
    during linking
  - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
  - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
Installing shared extensions:     /opt/remi/php70/root/usr/lib64/php/modules/



Installing shared extensions:
・/opt/remi/php70/root/usr/lib64/php/modules/

Cannot find config.m4.

 閲覧数:192 投稿日:2016-03-11 更新日:2016-03-11 
▼/etc/php.d/mecab.ini
▼/opt/remi/php70/root/usr/lib64/php/modules/mecab.so

▼/etc/opt/remi/php70/php.ini
extension_dir = "/opt/remi/php70/root/usr/lib64/php/modules"
extension=imagick.so
extension=mecab.so


▼/etc/opt/remi/php70/php.d/mecab.ini
extension=mecab.so



Cannot find config.m4.



階層が異なる




中心となる configure オプションのリスト

php7でphp_mecabを使う方法




PHP5用の拡張モジュール(エクステンション)はPHP7では動作しません

 閲覧数:198 投稿日:2016-03-11 更新日:2016-03-11 
PHP5用の拡張モジュール(エクステンション)はPHP7では動作しません。

 閲覧数:232 投稿日:2016-03-11 更新日:2016-03-11 
$ wget http://mecab.googlecode.com/files/mecab-ipadic-2.7.0-20070801.tar.gz
--2016-03-11 21:56:25--  http://mecab.googlecode.com/files/mecab-ipadic-2.7.0-20070801.tar.gz
mecab.googlecode.com をDNSに問いあわせています... 74.125.23.82, 2404:6800:4008:c02::52
mecab.googlecode.com|74.125.23.82|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 12208105 (12M) [application/octet-stream]
`mecab-ipadic-2.7.0-20070801.tar.gz' に保存中

100%[===================================================================================================================>] 12,208,105 6.05M/s 時間 1.9s

2016-03-11 21:56:27 (6.05 MB/s) - `mecab-ipadic-2.7.0-20070801.tar.gz' へ保存完了 [12208105/12208105]


$ tar xvzf mecab-ipadic-2.7.0-20070801.tar.gz
mecab-ipadic-2.7.0-20070801/
mecab-ipadic-2.7.0-20070801/README
mecab-ipadic-2.7.0-20070801/AUTHORS
mecab-ipadic-2.7.0-20070801/COPYING
mecab-ipadic-2.7.0-20070801/ChangeLog
mecab-ipadic-2.7.0-20070801/INSTALL
mecab-ipadic-2.7.0-20070801/Makefile.am
mecab-ipadic-2.7.0-20070801/Makefile.in
mecab-ipadic-2.7.0-20070801/NEWS
mecab-ipadic-2.7.0-20070801/aclocal.m4
mecab-ipadic-2.7.0-20070801/config.guess
mecab-ipadic-2.7.0-20070801/config.sub
mecab-ipadic-2.7.0-20070801/configure
mecab-ipadic-2.7.0-20070801/configure.in
mecab-ipadic-2.7.0-20070801/install-sh
mecab-ipadic-2.7.0-20070801/missing
mecab-ipadic-2.7.0-20070801/mkinstalldirs
mecab-ipadic-2.7.0-20070801/Adj.csv
mecab-ipadic-2.7.0-20070801/Adnominal.csv
mecab-ipadic-2.7.0-20070801/Adverb.csv
mecab-ipadic-2.7.0-20070801/Auxil.csv
mecab-ipadic-2.7.0-20070801/Conjunction.csv
mecab-ipadic-2.7.0-20070801/Filler.csv
mecab-ipadic-2.7.0-20070801/Interjection.csv
mecab-ipadic-2.7.0-20070801/Noun.adjv.csv
mecab-ipadic-2.7.0-20070801/Noun.adverbal.csv
mecab-ipadic-2.7.0-20070801/Noun.csv
mecab-ipadic-2.7.0-20070801/Noun.demonst.csv
mecab-ipadic-2.7.0-20070801/Noun.nai.csv
mecab-ipadic-2.7.0-20070801/Noun.name.csv
mecab-ipadic-2.7.0-20070801/Noun.number.csv
mecab-ipadic-2.7.0-20070801/Noun.org.csv
mecab-ipadic-2.7.0-20070801/Noun.others.csv
mecab-ipadic-2.7.0-20070801/Noun.place.csv
mecab-ipadic-2.7.0-20070801/Noun.proper.csv
mecab-ipadic-2.7.0-20070801/Noun.verbal.csv
mecab-ipadic-2.7.0-20070801/Others.csv
mecab-ipadic-2.7.0-20070801/Postp-col.csv
mecab-ipadic-2.7.0-20070801/Postp.csv
mecab-ipadic-2.7.0-20070801/Prefix.csv
mecab-ipadic-2.7.0-20070801/Suffix.csv
mecab-ipadic-2.7.0-20070801/Symbol.csv
mecab-ipadic-2.7.0-20070801/Verb.csv
mecab-ipadic-2.7.0-20070801/char.def
mecab-ipadic-2.7.0-20070801/feature.def
mecab-ipadic-2.7.0-20070801/left-id.def
mecab-ipadic-2.7.0-20070801/matrix.def
mecab-ipadic-2.7.0-20070801/pos-id.def
mecab-ipadic-2.7.0-20070801/rewrite.def
mecab-ipadic-2.7.0-20070801/right-id.def
mecab-ipadic-2.7.0-20070801/unk.def
mecab-ipadic-2.7.0-20070801/dicrc
mecab-ipadic-2.7.0-20070801/RESULT
-bash-4.1$ cd mecab-ipadic-2.7.0-20070801/
-bash-4.1$ ./configure --with-charset=utf8
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking whether make sets $(MAKE)... yes
checking for working aclocal-1.4... missing
checking for working autoconf... found
checking for working automake-1.4... missing
checking for working autoheader... found
checking for working makeinfo... missing
checking for a BSD-compatible install... /usr/bin/install -c
checking for mecab-config... /usr/local/bin/mecab-config
configure: creating ./config.status
config.status: creating Makefile
-bash-4.1$ make
/usr/local/libexec/mecab/mecab-dict-index -d . -o . -f EUC-JP -t utf8
reading ./unk.def ... 40
emitting double-array: 100% |###########################################|
./model.def is not found. skipped.
reading ./Noun.adjv.csv ... 3328
reading ./Verb.csv ... 130750
reading ./Interjection.csv ... 252
reading ./Noun.org.csv ... 16668
reading ./Filler.csv ... 19
reading ./Others.csv ... 2
reading ./Noun.csv ... 60477
reading ./Conjunction.csv ... 171
reading ./Noun.adverbal.csv ... 795
reading ./Auxil.csv ... 199
reading ./Noun.place.csv ... 72999
reading ./Noun.demonst.csv ... 120
reading ./Noun.others.csv ... 151
reading ./Suffix.csv ... 1393
reading ./Postp-col.csv ... 91
reading ./Noun.number.csv ... 42
reading ./Noun.name.csv ... 34202
reading ./Adj.csv ... 27210
reading ./Adverb.csv ... 3032
reading ./Adnominal.csv ... 135
reading ./Postp.csv ... 146
reading ./Symbol.csv ... 208
reading ./Prefix.csv ... 221
reading ./Noun.verbal.csv ... 12146
reading ./Noun.proper.csv ... 27327
reading ./Noun.nai.csv ... 42
emitting double-array: 100% |###########################################|
reading ./matrix.def ... 1316x1316
emitting matrix : 100% |###########################################|

done!
echo To enable dictionary, rewrite /usr/local/etc/mecabrc as \"dicrc = /usr/local/lib/mecab/dic/ipadic\"
To enable dictionary, rewrite /usr/local/etc/mecabrc as "dicrc = /usr/local/lib/mecab/dic/ipadic"

$ sudo make install


Fatal error: Uncaught Error: Class 'MeCab_Tagger' not found

 閲覧数:602 投稿日:2016-03-11 更新日:2016-04-14 
Notice: Undefined variable: texta in /var/www/e1blue.co/php-demo.e1blue.co/demo/morphological-analysis/find-resemble/default/index.php on line 75

Fatal error: Uncaught Error: Class 'Mecab_Tagger' not found in /var/www/e1blue.co/php-demo.e1blue.co/demo/morphological-analysis/find-resemble/default/index.php:122 Stack trace: #0 {main} thrown in /var/www/e1blue.co/php-demo.e1blue.co/demo/morphological-analysis/find-resemble/default/index.php on line 122


print_r(MeCab\split($str));


クラス名変更が必要
//$mecab = new Mecab_Tagger();
$mecab = new MeCab\Tagger();



同梱ファイルには切り替わっていないものの含まれているし、
開発ページには、make test と掲載されたままだし
あまりにひどいかも

丸二日間、昨日とか、夜中の2時まで取り組んだ結果が、昨日は一歩も外出せずに、今日も、22:00まで外出せずに…、ううう


本当に寸での所で、あまりにも情報がないので多言語へ乗り換えようかと思ったわ

Python mecab
Ruby mecab

実際に検索したし

もう冗談抜きで軽いトラウマレベル

PHP7への再アップデートもそうだし、MySQL5.6アップデートする際、PHPドライバがおかしくなった(しかもそのことになかなか気が付かなかった)時もそう

調査するも、今回とは関係がなかった件

 閲覧数:217 投稿日:2016-03-11 更新日:2016-03-11 
--with-config-file-path=


./configure --with-php-config=/usr/bin/php-config --with-mecab=/usr/local/bin/mecab-config


--with-config-file-path=


./configure --with-config-file-path=/opt/remi/php70/root/usr/bin/php-config --with-mecab=/usr/local/bin/mecab-config



`install-exec-am' に対して行うべき事はありません




質問するも回答を得られなかったQ

 閲覧数:190 投稿日:2016-03-11 更新日:2016-03-11 
PHP拡張モジュールの設定 / 「Loaded Configuration File」「Scan this dir for additional .ini files」「Additional .ini files parsed」の違い


環境
・PHP7

質問1.
「Loaded Configuration File」にあるphp.iniを読み込んだ後、「Scan this dir for additional .ini files」ディレクトリにあるhoge.iniを読み込むのでしょうか?

質問2.
extension_dirに記載されたディレクトリの下にhoge.soファイルがあれば良い?

質問3.
「Loaded Configuration File」にあるphp.iniに、extension=hoge.soを書いても、
「Additional .ini files parsed」に表示されない理由は?

質問4.
「Additional .ini files parsed」へhoge.iniファイルを直接配置して

service httpd restart
しても反映されないのですが、ファイル名に番号が必要なのでしょうか?

既存例
30-pdo_mysql.ini

; Enable pdo_mysql extension module
extension=pdo_mysql.so


php-mecab 0.6.0 インストール

PHP Version 7.1.2 php-mecabエクステンション対応 / PHP 7.0.14 からのアップグレード 



週間人気ページランキング / 9-16 → 9-22
順位 ページタイトル抜粋 アクセス数
1 Nginx設定。エラーログレベル | Nginx(Webサーバ) 19
2 PHP実行ユーザ設定 / CentOS6 / Apache | PHP(プログラミング言語) 14
3 PHPのmb_send_mail関数でメール送信できない | メール処理システム 13
4 9回目-13.MySQL5.7.21設定 | CentOS 7 2週間無料のお試し期間 9回目(さくらVPS) 12
5 touch コマンド / viコマンド。新規ファイル作成時の違い | Linuxコマンド 8
6 ソースからビルドしたPython 2.7.3 アンインストール失敗 | Python(プログラミング言語) 7
6 FFmpeg 2.8.15 を yum インストール | ソフトウェアスイート 7
6 「設定ファイルに、暗号化 (blowfish_secret) 用の非公開パスフレーズの設定を必要とするようになりました。」対応 7
6 Python 3.5 アンインストール / yum remove | Python(プログラミング言語) 7
6 manページ日本語表示 | CentOS 7 (CentOS) 7
6 PHPファイルでchmodエラー | PHP(プログラミング言語) 7
7 ABRT により 問題が検出されました | CentOS 7 (CentOS) 6
7 Python 3.6 インストール / make altinstall | Python(プログラミング言語) 6
7 さくらVPS0 6
8 Reached target Shutdown メッセージが表示されたあと、シャットダウンまたは再起動プロセスがハングアップする | CentOS 7 (CentOS) 5
9 PHP Version 7.1.2 php-mecabエクステンション対応 / PHP 7.0.14 からのアップグレード  | MeCab(形態素解析) 4
9 echo と cat の違い 4
9 phpMyAdmin 4.4.3(phpMyAdmin) カテゴリー 4
9 tar: これは tar アーカイブではないようです 4
9 MySQL 5.5 から 5.6 へのアップグレード | MySQL(データベース) 4
2021/9/23 1:01 更新