【自己解決】WordPress 4.2で急に投稿ができなくなった件

本ブログはWordPressで動いているのですが、4.2に自動アップデートしたら、急に投稿ができなくなってしまいました。

いつも使っているマイクロソフトのLive Writerだと”Internal Server Error 500 ”データベース内の投稿を更新できませんでした” でエラーになります。WordPressの管理画面から投稿しようとするとそもそも新規投稿の画面が崩れています。

いろいろと調べると英語だけの投稿であればちゃんと投稿されることがわかり、問題は日本語文字コード関連ぽいことがわかりました。

応急処置としてwp-includes/wp-db.phpとwp-includes/post.phpをWordPress 4.1のものに置き換えるとLive Writerからはちゃんと投稿できるようになりました(WordPressの管理画面の新規投稿画面が崩れているのは直らないですが、これ以上応急処置をすると危険なのでほっておきました)。

ちょっと時間ができた時に調べるとMySQLの一部のテーブルが照合順序がujis_japanese_ciになっていることが判明しました。これを本来のustf8_general_ciに直すことで問題は解決しました(少なくともpostsのテーブルを直してだけで解決しましたがついでに他も直しました)。間違って設定していた理由は不明ですが、WordPress4.2以前では顕在化していなかった間違いが、WordPressの内部ロジック変更によって悪さをするようになったということなんででしょう。

データ喪失でバックアップからリストアなんて事態にならなくてよかったです。

カテゴリー: 業務連絡 パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です