WordPressのテーマ更新に失敗した時に確認したこと

雑記

WordPressでブログ運営を始めると、ダッシュボードで最新の更新を知らせてくれます。ボタン一つで常に最新に保てるのはとても便利ですね。ただ、私のサイトでは初めてのテーマの更新で失敗したので、この記事は対処時の対応内容と考えたことの記録です。

エラー内容の確認

エラーが発生した場合は、まずエラーメッセージを把握するのが鉄則。ここで確認するべきは、以下です。

  • テーマの更新に失敗しました。
  • いくつかのファイルをコピーできないため、最新版のインストールができません。これはたいていの場合、ファイルのパーミッションが適切でないことが原因です 。

やってみたこと

エラーメッセージを解釈する。

メッセージ:テーマの更新に失敗しました。

「更新に失敗した」ということが理解できます。「何が」起きたかはわかりました。「なぜ」発生したかは、このメッセージではわかりません。

メッセージ: ファイルをコピーできないため、最新版のインストールができません。

このメッセージから「ファイルがコピーできないため」ということでこれが原因のようです。
さて「テーマを更新できない」が、「ファイルをコピーできない」という話にすり替わっています。WordPressのテーマとはコンピュータからみればファイルの集合体なので、ファイルをコピーできないとは、「新しいテーマのファイル群が、何らかの理由でコピーできない」ということです。

メッセージ: たいていの場合、ファイルのパーミッションが適切でないことが原因

ここまでメッセージしてくれるWordpressって素晴らしいです。このメッセージから、ファイルのパーミッションを確認することになります。パーミッションとは「ファイル読み書きの権限」のことで、パーミッションが適切ではないということは、古いテーマを新しいテーマで上書きしたいが、更新権限がないということでしょう。「たいていの場合」とあるのでそれ以外の原因の可能性もあるかもしれませんが、まずはパーミッションが原因かどうかを確認します。

テーマの更新に失敗しているので、テーマのある場所から確認しましょう。
(私の環境はlinuxなのでその前提で記載します)

cd {WordPressインストール先}/data/{ドメイン}/DocumentRoot/wp-content/themes

次に、lsコマンドで確認します。(ll とは ls -l と同じで詳細なリストを出してくれます)

ll

出力結果例

drwxrwxrwx 16     82       82 4096 May  6 07:08 cocoon-master/ 
drwxr-xr-x  8      82       82  4096 Apr  9 14:00 twentynineteen/
drwxr-xr-x  5      82       82  4096 Apr  9 14:00 twentyseventeen/
drwxr-xr-x  7      82       82  4096 Apr  9 14:00 twentysixteen/   

左の「drwxrwxrwx」や「drwxr-xr-x」という表記が「パーミッション」を表します。cocoon-masterと、twentynineteen以下3つとでパーミッションが異なってるのがわかります。今回エラーになったのは「twentynineteen」以下三つだったのですが権限が不足しているのです。chmodコマンドで変更できます。

sudo chmod -R 777 twenty*
ll
drwxrwxrwx 16     82       82 4096 May  6 07:08 cocoon-master/ 
drwxrwxrwx   8      82       82  4096 Apr  9 14:00 twentynineteen/
drwxrwxrwx   5      82       82  4096 Apr  9 14:00 twentyseventeen/
drwxrwxrwx   7      82       82  4096 Apr  9 14:00 twentysixteen/   

パーミッションを確認したところで再実行

再実行すると、見事成功しました。これで解決です。

まとめ

うまくいった手順を改めて書くと下記の通り。参考になれば幸いです。

  • エラーメッセージを確認する
  • テーマ格納場所を把握する
  • パーミッションを確認する
  • パーミッションを変更する
  • 再更新して確認する。

雑記
スポンサーリンク
スポンサーリンク
takaをフォローする

コメント

タイトルとURLをコピーしました