コアサーバーでWordPressがバージョンアップできなかった原因

TDRの家族旅行体験ブログを持ってるんですけど、なぜか「WordPress 5.2.1」にバージョンアップ出来ずにいました。

PHPのバージョンを5.6以上にしないとダメですよと注意メッセージが出ていたので、PHPのバージョンを7.1に設定はしていたんです。

WordPress 更新
※拡大できます

ちゃんと設定してるんですよ。

phpバージョン

だけどもメッセージは出たままで現状は変わらずでしたが、とあることを思い出して解決できました。
もし、同様の悩みがあったなら、参考にしてみてください。

かつて画像アップロードでエラーが出ていた

どういうことかと言いますと、ちょっと前までコアサーバーでWordPressを運用すると、「メディアを追加」から画像をアップロードできない現象が起きていました。
エラーになるんですよ。

どうもコアサーバーのPHPは、モジュール版でセーフモードが有効になる仕様とかの影響で、WordPressの一部の機能に制限がかかって同様のエラーが出ようになっていたみたいです。
ちなみにセーフモードとかモジュール版とか、意味はわかりません(笑)

プラグインやテーマのインストールも出来なかった

いちいちFTPでアップロードすることになるので、かなり運用としては面倒臭いですから、なんとかしたいと思いました。
幸いにも、その現象を回避する方法とかの記事が多く見受けられましたので、解決の時間は早かったです。

で、私も、その対処法をやっていたんです。

ちょっと寄り道

おっさん特有のいきなり話がズレる現象が出ますが、文末に「w」ってつけて言葉の強さを緩衝する方法がありますよね。
例えば、「お前どんくさいなw」とか。
私、かな入力なんで「w」と表記すると英数字モードに変換して入力しなくちゃならないので、「わ」と入力して「(笑)」と変換できるよう単語登録してて、その方が都合がいいんです。

ん?

「わ」と入力して「w」と変換できるようにしたらええんか!!!

今気づいたww
でもムダな単語登録ww

画像アップロードエラーの対処法

あくまでも少し前までのコアサーバーでのWordPressあるあるの対処法で、今はもう必要ない方法ですが、参考までに書いておきます。

その方法とは、

  • wp-contentsディレクトリに「uploads」というフォルダをFTPソフトなどで作る
  • wp-adminディレクトリに.htaccessファイルをアップロードする

という意外と簡単な方法でした。

.htaccessファイルの中身

ちなみに.htaccessファイルの中身は、このように記述していました。

# 画像ファイルアップロード
<files async-upload.php>
AddHandler application/x-httpd-phpcgi .php
</files>
# プラグインやテーマの新規インストールとアップグレード
<Files update.php>
AddHandler application/x-httpd-phpcgi .php
</Files>
# 本体のアップグレード
<Files update-core.php>
AddHandler application/x-httpd-phpcgi .php
</Files>

これで画像だけじゃなく、プラグイン、テーマ、本体のアップグレードまで、管理画面から操作できるようになりました。

ところが、これがネックになっていたとは・・・。

WordPressのバージョンアップを邪魔していた

皮肉にも、WordPress 5.2.1へのバージョンアップを阻止していたのは、前述した .htaccessファイルでした。

なぜ気付いたかと言いますと、.htaccessファイルに記述されていた x-httpd-phpcgi .php の部分。
別の件でコアサーバーの「よくある質問」を見ていたら、「PHPをCGIとして動かす方法について」という項目があって、

  • 「.php」をCGI版PHP53として動かす ⇒ x-httpd-phpcgi .php
  • 「.php」をCGI版PHP7.1として動かす ⇒ x-httpd-php71cgi .php

との記述から、もしや、PHP5.3に指定しているようなもんだから設定が弾かれてるのかなと思ったんです。

.htaccessファイルを削除

画像がアップロードできないための対処法としてアップロードしていた .htaccess ファイルを削除しました。
wp-admin内の.htaccessファイルです。

くれぐれも言いますが、コアサーバーで画像が管理画面からアップロードできない場合に.htaccessファイルをアップロードしていたので、通常のようにWordPressをインストールしているならば、この.htaccessファイルは存在しませんので。

WordPress アップグレード完了

無事に最新版 WordPress 5.2.1 がインストールされました。

WordPress 更新
※拡大できます

いやーいろいろと気付いて良かったです。