CentOS7のPHP 7.0をPHP 7.2にアップデート。MeCabを再ビルド

PHP 7.3のリリースが近づいている中、そろそろPHPのバージョンを7.2へ上げようかと調べた時の覚書。

環境: CentOS 7.5.1804


気になる速度比較はこちら。


目次

  1. YUM経由でアップデート
  2. MeCabを再ビルド




1.YUM経由でアップデート

yumのremiリポジトリを編集すれば簡単に切り替え可能
# cd /etc/yum.repos.d/
# less remi-php72.repo

[remi-php72]
enabled=1

PHP 7.0は無効にする
# less remi-php70.repo

[remi-php70]
enabled=0

更新実行
# yum update

セッションの書き込みディレクトリ権限を変更(nginxの実行権限を変更している場合)
# chown nginx.www -R /var/lib/php/

確認
# php -v

PHP Warning:  PHP Startup: mecab: Unable to initialize module
Module compiled with module API=20151012
PHP    compiled with module API=20170718
These options need to match
  in Unknown on line 0
PHP 7.2.12 (cli) (built: Nov  6 2018 16:40:25) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

Mecabの再コンパイルが必要らしい

php-fpmのログも確認
# journalctl -u php-fpm



2.MeCabを再ビルド

基本は前の記事を参考に。

公式サイトから最新版をダウンロード

既にダウンロード済みだったので再ビルド。UTF8で。
# cd /opt/software/mecab-0.996
# ./configure --with-charset=utf8 --enable-utf8-only
# make clean
# make
# make check
# make install

辞書も念のため再ビルド。こっちは「utf-8」(ハイフンがある)
# cd ../mecab-ipadic-2.7.0-20070801
# ./configure --with-charset=utf-8
# make clean
# make
# make install

php用モジュールを再ビルド
# pear uninstall opendogs/mecab-0.6.0
# pear install opendogs/mecab-0.6.0

specify pathname to mecab-config [no] : /usr/local/bin/mecab-config

確認
# php -v

PHP 7.2.12 (cli) (built: Nov  6 2018 16:40:25) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

php-fpmを再起動
# systemctl restart php-fpm

確認
# journalctl -u php-fpm


あとは実際にWordPressの管理画面で投稿してみて、データベースに文字化けせず保存されているか確認。


< Related Posts >