CentOS7のPHP 7.0をPHP 7.2にアップデート。MeCabを再ビルド
PHP 7.3のリリースが近づいている中、そろそろPHPのバージョンを7.2へ上げようかと調べた時の覚書。
環境: CentOS 7.5.1804
気になる速度比較はこちら。
目次
- YUM経由でアップデート
- 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 >