ワードプレスでテーマとプラグインとメディアの新規追加や更新が出来ない

以下の様なエラーがさくらインターネットのスタンダードプランのレンタル共有サーバで発生。

インストールに失敗しました: パッケージをインストールできませんでした。 PCLZIP_ERR_BAD_FORMAT (-10) : Unable to find End of Central Dir Record signature

インストールに失敗しました: ダウンロードに失敗しました。 ファイルのチェックサム ( ) が期待値 ( ) と一致しません。

テーマ新規追加、テーマ更新、プラグイン新規追加、プラグイン更新、メディア新規アップロードがGUIで一切出来なくなった。

ちなみに http://初期ドメイン/wp1 にて検証で再度WP構築した際のDebug.logは以下の様な感じ。

[29-Apr-2020 15:11:59 UTC] PHP Notice:  fwrite(): write of 1160 bytes failed with errno=69 Disc quota exceeded in /home/ユーザー名/www/wp1/wp-includes/Requests/Transport/cURL.php on line 481
[29-Apr-2020 15:11:59 UTC] PHP Notice:  fwrite(): write of 144 bytes failed with errno=69 Disc quota exceeded in /home/ユーザー名/www/wp1/wp-includes/Requests/Transport/cURL.php on line 481

php.iniは以下のような感じ。

php.ini
memory_limit = 200M
post_max_size = 30M
upload_max_filesize = 30M
max_input_time = 60

php.iniについては、初期状態で検証したいと考えて、php.iniをデフォルトにするということで無記載にしても改善しなかった。

php.iniはデフォルトで何も記載なし。php7.4とMySQL5.7、WP5.4、各種パーミッションは完全にデフォルト、デフォルトテーマという条件です。でも、ダッシュボードのGUI操作によるテーマやプラグインの更新や新規追加が出来ない。メディアのアップロードも出来ない。

さくらインターネットのヘルプのチャットにもいろいろ相談

さくらインターネット側の原因では無かったらすみません・・・。障害情報とかぶってる部分はありそうです。チャット対応していただいたさくらの中の人は、お伝えした既存のさくらの会員IDで検証環境を作ってテストしていただいて、何も問題が起きなかった様です。おそらく検証環境は再現精度100%ではないのだろうと思います。ただ、検証環境の再現精度100%は基本的に無理だと思いますので仕方ないという気もしています。

解決策

最終的にさくらインターネットのスタンダードプランのコントロールパネルのワードプレスのクイックインストールを使わず、wordpress.org公式から5.4.1の日本語のwordpressのzipファイルを自分でダウンロードして、ファイルマネージャの中にアップロード、アップロード後にファイルマネージャ内でWP5.4.1日本語のzipを解凍、WPを全て作り直したら解決した。

ですが、クライアントさんと相談の上、最終的にはワードプレスをエックスサーバーのX10に移行しました。

原因不明

以下の定番な原因対策は全て効果が無かった。受託案件だったので、マジで詰んだ、死亡かと思った・・・。

  1. インスト―ルしようとしているファイルがzipではない。
  2. パーミッションで許可されていない。
  3. pnp.iniのmax_file_uploadsやmax_file_sizeやpost_max_sizeなどの最大値の設定が小さい。

1については、ダッシュボード内だけでWP公式登録されたテーマやプラグインのインストール作業なので、そもそも論外。ローカルからプラグインのzipをダッシュボードで新規追加もダメだった。FTPやSSHは問題無く出来る。

マジで意味不明・・・。

検証のために同じ契約のサーバーの中でファイルもDBも全部消して、php.iniも全部消して、クイックインストールでデフォルトWPをさくらの初期ドメインや独自ドメインで、SSL有、無しで何度もパターンを変えてデフォルトWPを立ち上げた。でも、全部、ダッシュボードからテーマ/プラグインの新規追加と更新、メディアの新規追加が出来ない問題が起こり続ける・・・。完全に死亡状態に陥った・・・。

ただ、新規で、もうひとつ、さくらインターネットのスタンダードプランを契約して、デフォルトWPをクイックインストールで作ったら問題は起こらない。

もともと契約してずっと使い続けているさくらのスタンダードプランのサーバー領域だけがおかしいという事がわかった。そのため、その領域はファイルもデータベースもphp.iniも全部削除した。ずっと使い続けているさくらのスタンダードプランのサーバー領域の初期化をして検証したがクイックインストールではあいかわらずダメ。

さくらインターネットのスタンダードプランのクイックインストールがダメなのか?

ずっと使い続けている既存さくらのスタンダードプランのサーバー領域だけで、さくらがクイックインストール向けに用意しているプラグインなどを独自に追加したデフォルトWPのオリジナルセットがダメ、既存契約のスタンダードプランのクイックインストールのワードプレスがダメ。としか結論を出せない。さくらのスタンダードを新規契約して検証したら、もちろん、問題は起こらない・・・。

検証のために、既存契約のスタンダードプランのサーバー内も、データベース内も、php.iniも、全てすっからかんの空っぽにして、クイックインストールでWPをデフォルトから何回も立ち上げて試しても、全部、ダッシュボードからテーマ/プラグインの新規追加と更新、メディアの新規追加が出来ない問題が起こり続けました。死亡フラグ・・・。さくらの初期ドメインでも、独自ドメインでも、同じ、ダメな結果になる。何回も、クイックインストールのWPインストール時にデフォルトWPのファイル欠損などが連続で起きているのかなぁ?

さくらインターネットのスタンダードプランは、おそらく以下のディレクトリと同階層にクイックインストール用のWPファイル達を持っている。その周辺はおそらく、クイックインストール時にプラグインがやたらと多いなどの設定ファイルだと思う。

/home/ユーザー名/ports/sakura-blog/wordpress/work/wordpress-5.4-ja

やや気になったのは、

/home/ユーザー名/ports/sakura-blog/wordpress/work/wp-config.php

の中にソルト未設定のwp-config.phpがあったこと。wp-config-sample.phpではない。過去に作ったDBアカウントが記載されていた気がする。こっそりバックアップをとってくれているのだろうか。

他には、チェックサムにはキャッシュなどが有るのだろうか。

こんな恐ろしい現象、初めて・・・。ほぼ1日、時間泥棒された。

さくらインターネットのスタンダードプランかどうか、わからないが、同じ現象で悩んだ人のブログ記事がググると2~3あります。どの記事でも解決策がわからない・・・。と記載されていた。1ヶ月放置したら治ったというブログ記事もあったので、チェックサムのキャッシュ的なもの、もしくは、さくらスタンダード自体のメンテナンス・障害情報と鉢合わせた?あたりがあやしい。wordpress.orgでは、この様な時について、コア、テーマ、プラグインの上書きインストールを推奨しているコメントがあった。