WordPressのダッシュボードにログインすると、こんなメッセージが表示されるようになりました。
文言そのままの意味なのですが、どうやら現在使用しているCentOS6.xに含まれるPHPのバージョンが古いので、最新版に更新せよ、ということですね。
確かに最近yum updateしてないな・・・と思っていたので早速SSHでリモートログインしてアップデートを試みたのですが、現在使用中のPHP5.3が最新版のようで、単純にyum updateでは最新版に更新できないようです。
そこでgoogle先生に聞いて調べてみたところ、色々と先人たちの軌跡が多数ヒットしました。
そのうちのいくつかをやや斜め読みして、僕も手動でアップデートを行ってみることにしました。
もっとも、手動といってもアップデート自体はこれまでと同様yumで行うのですが(笑)
大まかに述べておくと、
- 現在のPHP関連パッケージを確認
- remiレポジトリの追加
- 既存のPHPパッケージを消去
- 同レポジトリを有効にして関連パッケージをインストール
- インストールしたPHPのバージョンを確認
- httpsdの再起動
という手順でアップデートを行います。
では以下に一つずつ、もう少し細かくみていきましょう。
1:既存のPHP関連パッケージを確認
# yum list installed | grep php
php.x86_64 5.3.3-49.el6 @base
php-cli.x86_64 5.3.3-49.el6 @base
php-common.x86_64 5.3.3-49.el6 @base
php-gd.x86_64 5.3.3-49.el6 @base
php-mbstring.x86_64 5.3.3-49.el6 @base
php-mysql.x86_64 5.3.3-49.el6 @base
php-pdo.x86_64 5.3.3-49.el6 @base
php-pear.noarch 1:1.9.4-5.el6 @base
php-xml.x86_64 5.3.3-49.el6 @base
後でここに表示されたパッケージを指定してインストールを行うことになります。
2:remiレポジトリの追加
# rpm -Uvh https://rpms.famillecollet.com/enterprise/remi-release-6.rpm
https://rpms.famillecollet.com/enterprise/remi-release-6.rpmを取得中
警告: /var/tmp/rpm-tmp.wiAsSC: ヘッダV4 DSA/SHA1 Signature, key ID 00f97f56: NOKEY
準備中… ########################################### [100%]
1:remi-release ########################################### [100%]
# ls /etc/yum.repos.d/
CentOS-Base.repo epel-testing.repo remi-glpi94.repo remi-php73.repo
CentOS-Debuginfo.repo epel.repo remi-php54.repo remi-safe.repo
CentOS-Media.repo remi-glpi91.repo remi-php70.repo remi.repo
CentOS-Vault.repo remi-glpi92.repo remi-php71.repo
CentOS-fasttrack.repo remi-glpi93.repo remi-php72.repo
後半はインストールされているリポジトリの確認です。yum.repos.d/以下にremi*が入っていればOKです。
なお、この後の行程で使用するのはremi.repoとremi-php73.repo(PHPの最新版のリポジトリ)です。
3:既存のPHPパッケージを消去
# yum remove php-*
読み込んだプラグイン:fastestmirror, security
削除処理の設定をしています
依存性の解決をしています
–>トランザクションの確認を実行しています。
—> Package php.x86_64 0:5.3.3-49.el6 will be 削除
—> Package php-cli.x86_64 0:5.3.3-49.el6 will be 削除
—> Package php-common.x86_64 0:5.3.3-49.el6 will be 削除
—> Package php-gd.x86_64 0:5.3.3-49.el6 will be 削除
—> Package php-mbstring.x86_64 0:5.3.3-49.el6 will be 削除
—> Package php-mysql.x86_64 0:5.3.3-49.el6 will be 削除
—> Package php-pdo.x86_64 0:5.3.3-49.el6 will be 削除
—> Package php-pear.noarch 1:1.9.4-5.el6 will be 削除
—> Package php-xml.x86_64 0:5.3.3-49.el6 will be 削除
–>依存性解決を終了しました。
依存性を解決しました
================================================================================
パッケージ アーキテクチャバージョン リポジトリー 容量
================================================================================
削除:
php x86_64 5.3.3-49.el6 @base 3.5 M
php-cli x86_64 5.3.3-49.el6 @base 6.2 M
php-common x86_64 5.3.3-49.el6 @base 2.9 M
php-gd x86_64 5.3.3-49.el6 @base 324 k
php-mbstring x86_64 5.3.3-49.el6 @base 2.1 M
php-mysql x86_64 5.3.3-49.el6 @base 216 k
php-pdo x86_64 5.3.3-49.el6 @base 168 k
php-pear noarch 1:1.9.4-5.el6 @base 2.2 M
php-xml x86_64 5.3.3-49.el6 @base 307 k
トランザクションの要約
================================================================================
削除 9 パッケージ
インストール済み容量: 18 M
これでいいですか? [y/N] y(”y”を押下する)
パッケージをダウンロードしています:
rpm_check_debugを実行しています
トランザクションのテストを実行しています
トランザクションのテストを成功しました
トランザクションを実行しています
警告: RPMDB はyum 以外で変更されました。
削除中 : php-5.3.3-49.el6.x86_64 1/9
削除中 : php-mysql-5.3.3-49.el6.x86_64 2/9
削除中 : 1:php-pear-1.9.4-5.el6.noarch 3/9
削除中 : php-cli-5.3.3-49.el6.x86_64 4/9
削除中 : php-pdo-5.3.3-49.el6.x86_64 5/9
削除中 : php-gd-5.3.3-49.el6.x86_64 6/9
削除中 : php-xml-5.3.3-49.el6.x86_64 7/9
削除中 : php-mbstring-5.3.3-49.el6.x86_64 8/9
削除中 : php-common-5.3.3-49.el6.x86_64 9/9
警告: /etc/php.ini は/etc/php.ini.rpmsave として保存されました。
Verifying : php-mbstring-5.3.3-49.el6.x86_64 1/9
Verifying : php-pdo-5.3.3-49.el6.x86_64 2/9
Verifying : php-mysql-5.3.3-49.el6.x86_64 3/9
Verifying : php-xml-5.3.3-49.el6.x86_64 4/9
Verifying : php-cli-5.3.3-49.el6.x86_64 5/9
Verifying : 1:php-pear-1.9.4-5.el6.noarch 6/9
Verifying : php-5.3.3-49.el6.x86_64 7/9
Verifying : php-gd-5.3.3-49.el6.x86_64 8/9
Verifying : php-common-5.3.3-49.el6.x86_64 9/9
削除しました:
php.x86_64 0:5.3.3-49.el6 php-cli.x86_64 0:5.3.3-49.el6
php-common.x86_64 0:5.3.3-49.el6 php-gd.x86_64 0:5.3.3-49.el6
php-mbstring.x86_64 0:5.3.3-49.el6 php-mysql.x86_64 0:5.3.3-49.el6
php-pdo.x86_64 0:5.3.3-49.el6 php-pear.noarch 1:1.9.4-5.el6
php-xml.x86_64 0:5.3.3-49.el6
完了しました!
(1)の段階で確認した全てのPHP関連ファイルが削除されたことを確認します。
さぁ、もう後には引けません!
・・・って、実際にはもう一度yum updateすれば元どおりになりますけどね(笑)
4:同レポジトリを有効にして関連パッケージをインストール
# yum install –enablerepo=remi,remi-php73 php php-cli php-common php-gd php-mbstring php-mysql php-pdo php-pear php-xml
読み込んだプラグイン:fastestmirror, security
インストール処理の設定をしています
Loading mirror speeds from cached hostfile
* base: mirrors.cat.net
* epel: ftp.iij.ad.jp
* extras: mirrors.cat.net
* remi: ftp.riken.jp
* remi-php73: ftp.riken.jp
* remi-safe: ftp.riken.jp
* updates: mirrors.cat.net
remi-php73 | 3.0 kB 00:00
remi-php73/primary_db | 166 kB 00:00
パッケージphp-mysql はphp-mysqlnd によって不要になりました。代わりにphp-mysqlnd-7.3.2-1.el6.remi.x86_64 のインストールを試みています。
依存性の解決をしています
–>トランザクションの確認を実行しています。
—> Package php.x86_64 0:7.3.2-1.el6.remi will be インストール
–>依存性の処理をしています: libargon2.so.0()(64bit) のパッケージ: php-7.3.2-1.el6.remi.x86_64
—> Package php-cli.x86_64 0:7.3.2-1.el6.remi will be インストール
—> Package php-common.x86_64 0:7.3.2-1.el6.remi will be インストール
–>依存性の処理をしています: php-json(x86-64) = 7.3.2-1.el6.remi のパッケージ: php-common-7.3.2-1.el6.remi.x86_64
—> Package php-gd.x86_64 0:7.3.2-1.el6.remi will be インストール
–>依存性の処理をしています: gd-last(x86-64) >= 2.1.1 のパッケージ: php-gd-7.3.2-1.el6.remi.x86_64
–>依存性の処理をしています: libgd.so.3()(64bit) のパッケージ: php-gd-7.3.2-1.el6.remi.x86_64
—> Package php-mbstring.x86_64 0:7.3.2-1.el6.remi will be インストール
—> Package php-mysqlnd.x86_64 0:7.3.2-1.el6.remi will be インストール
—> Package php-pdo.x86_64 0:7.3.2-1.el6.remi will be インストール
—> Package php-pear.noarch 1:1.10.8-1.el6.remi will be インストール
–>依存性の処理をしています: php-composer(fedora/autoloader) のパッケージ: 1:php-pear-1.10.8-1.el6.remi.noarch
–>依存性の処理をしています: php-posix のパッケージ: 1:php-pear-1.10.8-1.el6.remi.noarch
—> Package php-xml.x86_64 0:7.3.2-1.el6.remi will be インストール
–>トランザクションの確認を実行しています。
—> Package gd-last.x86_64 0:2.2.5-5.el6.remi will be インストール
–>依存性の処理をしています: libwebp.so.5()(64bit) のパッケージ: gd-last-2.2.5-5.el6.remi.x86_64
—> Package libargon2.x86_64 0:20161029-2.el6.remi will be インストール
—> Package php-fedora-autoloader.noarch 0:1.0.0-1.el6.remi will be インストール
—> Package php-json.x86_64 0:7.3.2-1.el6.remi will be インストール
—> Package php-process.x86_64 0:7.3.2-1.el6.remi will be インストール
–>トランザクションの確認を実行しています。
—> Package libwebp.x86_64 0:0.4.3-3.el6 will be インストール
–>依存性解決を終了しました。
依存性を解決しました
================================================================================
パッケージ アーキテクチャ
バージョン リポジトリー 容量
================================================================================
インストールしています:
php x86_64 7.3.2-1.el6.remi remi-php73 3.0 M
php-cli x86_64 7.3.2-1.el6.remi remi-php73 4.4 M
php-common x86_64 7.3.2-1.el6.remi remi-php73 1.1 M
php-gd x86_64 7.3.2-1.el6.remi remi-php73 72 k
php-mbstring x86_64 7.3.2-1.el6.remi remi-php73 1.1 M
php-mysqlnd x86_64 7.3.2-1.el6.remi remi-php73 209 k
php-pdo x86_64 7.3.2-1.el6.remi remi-php73 112 k
php-pear noarch 1:1.10.8-1.el6.remi remi 372 k
php-xml x86_64 7.3.2-1.el6.remi remi-php73 174 k
依存性関連でのインストールをします。:
gd-last x86_64 2.2.5-5.el6.remi remi 129 k
libargon2 x86_64 20161029-2.el6.remi remi 21 k
libwebp x86_64 0.4.3-3.el6 epel 210 k
php-fedora-autoloader noarch 1.0.0-1.el6.remi remi 8.8 k
php-json x86_64 7.3.2-1.el6.remi remi-php73 60 k
php-process x86_64 7.3.2-1.el6.remi remi-php73 68 k
トランザクションの要約
================================================================================
インストール 15 パッケージ
総ダウンロード容量: 11 M
インストール済み容量: 43 M
これでいいですか? [y/N] y(”y”を押下する)
パッケージをダウンロードしています:
(1/15): gd-last-2.2.5-5.el6.remi.x86_64.rpm | 129 kB 00:00
(2/15): libargon2-20161029-2.el6.remi.x86_64.rpm | 21 kB 00:00
(3/15): libwebp-0.4.3-3.el6.x86_64.rpm | 210 kB 00:00
(4/15): php-7.3.2-1.el6.remi.x86_64.rpm | 3.0 MB 00:00
(5/15): php-cli-7.3.2-1.el6.remi.x86_64.rpm | 4.4 MB 00:00
(6/15): php-common-7.3.2-1.el6.remi.x86_64.rpm | 1.1 MB 00:00
(7/15): php-fedora-autoloader-1.0.0-1.el6.remi.noarch.rp | 8.8 kB 00:00
(8/15): php-gd-7.3.2-1.el6.remi.x86_64.rpm | 72 kB 00:00
(9/15): php-json-7.3.2-1.el6.remi.x86_64.rpm | 60 kB 00:00
(10/15): php-mbstring-7.3.2-1.el6.remi.x86_64.rpm | 1.1 MB 00:00
(11/15): php-mysqlnd-7.3.2-1.el6.remi.x86_64.rpm | 209 kB 00:00
(12/15): php-pdo-7.3.2-1.el6.remi.x86_64.rpm | 112 kB 00:00
(13/15): php-pear-1.10.8-1.el6.remi.noarch.rpm | 372 kB 00:00
(14/15): php-process-7.3.2-1.el6.remi.x86_64.rpm | 68 kB 00:00
(15/15): php-xml-7.3.2-1.el6.remi.x86_64.rpm | 174 kB 00:00
——————————————————————————–
合計 6.2 MB/s | 11 MB 00:01
警告: rpmts_HdrFromFdno: ヘッダV4 DSA/SHA1 Signature, key ID 00f97f56: NOKEY
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
Importing GPG key 0x00F97F56:
Userid : Remi Collet <RPMS@FamilleCollet.com>
Package: remi-release-6.10-1.el6.remi.noarch (installed)
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-remi
これでいいですか? [y/N] y(”y”を押下する)
rpm_check_debugを実行しています
トランザクションのテストを実行しています
トランザクションのテストを成功しました
トランザクションを実行しています
インストールしています : libargon2-20161029-2.el6.remi.x86_64 1/15
インストールしています : php-common-7.3.2-1.el6.remi.x86_64 2/15
インストールしています : php-json-7.3.2-1.el6.remi.x86_64 3/15
インストールしています : php-cli-7.3.2-1.el6.remi.x86_64 4/15
インストールしています : php-fedora-autoloader-1.0.0-1.el6.remi.noar 5/15
インストールしています : php-xml-7.3.2-1.el6.remi.x86_64 6/15
インストールしています : php-process-7.3.2-1.el6.remi.x86_64 7/15
インストールしています : php-pdo-7.3.2-1.el6.remi.x86_64 8/15
インストールしています : libwebp-0.4.3-3.el6.x86_64 9/15
インストールしています : gd-last-2.2.5-5.el6.remi.x86_64 10/15
インストールしています : php-gd-7.3.2-1.el6.remi.x86_64 11/15
インストールしています : php-mysqlnd-7.3.2-1.el6.remi.x86_64 12/15
インストールしています : 1:php-pear-1.10.8-1.el6.remi.noarch 13/15
インストールしています : php-7.3.2-1.el6.remi.x86_64 14/15
インストールしています : php-mbstring-7.3.2-1.el6.remi.x86_64 15/15
Verifying : php-mbstring-7.3.2-1.el6.remi.x86_64 1/15
Verifying : php-gd-7.3.2-1.el6.remi.x86_64 2/15
Verifying : libwebp-0.4.3-3.el6.x86_64 3/15
Verifying : gd-last-2.2.5-5.el6.remi.x86_64 4/15
Verifying : php-7.3.2-1.el6.remi.x86_64 5/15
Verifying : php-fedora-autoloader-1.0.0-1.el6.remi.noar 6/15
Verifying : 1:php-pear-1.10.8-1.el6.remi.noarch 7/15
Verifying : php-xml-7.3.2-1.el6.remi.x86_64 8/15
Verifying : libargon2-20161029-2.el6.remi.x86_64 9/15
Verifying : php-mysqlnd-7.3.2-1.el6.remi.x86_64 10/15
Verifying : php-process-7.3.2-1.el6.remi.x86_64 11/15
Verifying : php-cli-7.3.2-1.el6.remi.x86_64 12/15
Verifying : php-pdo-7.3.2-1.el6.remi.x86_64 13/15
Verifying : php-json-7.3.2-1.el6.remi.x86_64 14/15
Verifying : php-common-7.3.2-1.el6.remi.x86_64 15/15
インストール:
php.x86_64 0:7.3.2-1.el6.remi php-cli.x86_64 0:7.3.2-1.el6.remi
php-common.x86_64 0:7.3.2-1.el6.remi php-gd.x86_64 0:7.3.2-1.el6.remi
php-mbstring.x86_64 0:7.3.2-1.el6.remi php-mysqlnd.x86_64 0:7.3.2-1.el6.remi
php-pdo.x86_64 0:7.3.2-1.el6.remi php-pear.noarch 1:1.10.8-1.el6.remi
php-xml.x86_64 0:7.3.2-1.el6.remi
依存性関連をインストールしました:
gd-last.x86_64 0:2.2.5-5.el6.remi
libargon2.x86_64 0:20161029-2.el6.remi
libwebp.x86_64 0:0.4.3-3.el6
php-fedora-autoloader.noarch 0:1.0.0-1.el6.remi
php-json.x86_64 0:7.3.2-1.el6.remi
php-process.x86_64 0:7.3.2-1.el6.remi
完了しました!
依存性の関係(?)で2回確認を求められましたが、いずれもyすることでインストールはつつがなく終了しました。
ところで–enablerepo=remi,remi-php73のオプションをつける際、その他のリポジトリより先にremiレポジトリを読み込ませるようにしなければならないという情報もありましたが、僕の環境では特にそのようなことはありませんでした。
(この先、普通にyum updateした時にレポジトリ関連でエラーが出たらまた改めて処置するということで・・・)
5:インストールしたPHPのバージョンを確認
# php –version
PHP 7.3.2 (cli) (built: Feb 6 2019 08:25:37) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.2, Copyright (c) 1998-2018 Zend Technologies
/etc/init.d/httpsd restart
PHPのバージョンが最新版(ここでは7.3)になっていればOKです。
6:httpsdの再起動
# /etc/init.d/httpsd restart
httpsd を停止中: [ OK ]
httpsd を起動中: [ OK ]
httpsdを再起動しないと、ダッシュボードでの例のPHP更新メッセージが消えません!
再起動後にWordPressにアクセスし直せば、このメッセージは表示されていないはずです。
これでWordPressの動作が快適になるはず・・・なのですが、果たしてどうでしょうかね?
4:同レポジトリを有効にして関連パッケージをインストール
enablerepo オプションの指定が、-enablerepo になっています。
おそらく WP の機能で — が – になったのだと思います。
– 2つが — に化けてますね。
bacchi さま
初めまして、ご訪問並びにご指摘ありがとうございます。
ざっと調べた限りでは、どうやらWordPressのwptexturize()という関数が自動変換しているようでした。
対症療法的に、「-」を「-」に置き換えてみたのですが(そういう方法があると紹介されていたので)、
残念ながらうまく表示されませんでした。急いで行ってみたので何か抜けているのかもですが・・・。
抜本的な対策として先の関数を無効にする方法があるそうなので、おいおい試してみたいと思っています。
ありがとうございました。