方法自体は検索で見つかる方法そのままではあるものの、公式のヘルプには掲載がないようでかなり時間が掛かったのでメモ的に。
前提
- スマイルサーバー利用
- WP5.8以上にアップデートしようとするとエラーになる
[追記:2025.8.10]サーバーシステムの新バージョン
2025年5月ごろより、スマイルサーバーのシステムが順次新バージョンに移行しています。
しかしながら、当記事に記載している問題は残り、対策が引き続き必要です。
スマイルサーバーのサポートに確認したところ、一時保存用の容量をいくらか増やしたそうですが(確か30MB→40MBだったと思いますがうろ覚えです)、あいかわらずWPのアップデート用ファイルのデータサイズには足りません。
新バージョンのPHPと検証環境
当記事の趣旨からはずれますが、旧バージョンはPHP7.4までしかアップデートせず、新バージョンは7.4と8.3という間が飛んだ状態となります。
そのため新バージョンに移行する際はPHP8系にテーマやプラグインが対応している必要がありますので、事前の準備が重要になります。
ただしスマイルサーバー側が用意する検証環境ではWPが正常に動作しない可能性があり、私が担当したサイトでは検証不十分のまま新環境に切り替えるしかないという状況になりました。
なお発生した問題は以下になります。
- 画像やファイルのパスの大半が、WPをインストールしたディレクトが抜けた状態で出力され404になる
検証環境で表示させるために以下をwp-config.phpに記載するのですが、こちらの設定とその後の動作に問題があると思われました。
define( 'WP_HOME', '検証環境ドメインのWordPressアドレス(URL)' );
define( 'WP_SITEURL', '検証環境ドメインのサイトアドレス(URL)' );
スマイルサーバーでWPを使う場合、ルートディレクトリにインストールできず、サブディレクトリを作ってインストールする必要があるという点が影響しているように思います。
WP_SITEURLの方にWPをインストールしたディレクトリを追加するとパスが通って画像が表示されましたが、今度は表示されれていた画像が表示されなくなりました。
サポートがいうには他のWPサイトでは同種の問題が起きたという報告は上がってないようだとのことで、テーマ(Swellを使用)に原因がある可能性がありますが、スマイルサーバー側の仕様が原因ではという疑念は残ります。
とはいえ検証環境側の問題である可能性が高いと判断したので新環境への切り替えに踏み切り、無事問題なく画像が表示されて完了となりました。
エラーの内容
ダウンロードに失敗しました。:ファイルのチェックサム(0000)が期待値(0000)と一致しません。インストールに失敗しました。
上記のようにエラーがでてアップデートが実行されません。
対応策
- サイトマネージャーにログイン
- 「WEB&FTP管理 > CGI管理 > php.iniに移動
- 利用中のPHPのバージョンを選択してボタンを押す
- sys_temp_dir="/virtual/IPアドレス/data"を入力して「確認」して「確定」
- WPをアップデート
- 再びphp.iniに戻り、記述した内容を削除し、「確認」して「確定」
エラーの原因
対応策から逆算するような流れになりますが、以下が原因だった模様です。
- サーバー内の用意された一時的保存領域よりも、アップグレード用にダウンロードされたファイルのデータサイズが大きかったため
補足
エラー文で検索すると上記のような情報がいくつか出てきますが、スマイルサーバーでもエラー原因と作業内容は同じです(結果からの推測ではありますが)。
結び
「スマイルサーバー用のパスも全く同じで良いのか」「別の理由で問題が起きているのではないか」という疑問に加え、知見がない場合php.iniは気軽に変更するものではないということもあり、なかなか作業に踏ん切りがつきませんでした。
WP5.8以上にせずとも自動マイナーアップデートは実行可能だったため、一応セキュリティ的な問題はクリアできていたことも対応が延び延びになっていた理由の一つではあります。
最終的にはスマイルサーバーのサポートの方に相談して前出の手順を提示いただき、どうにか作業を追えられた形です。
補足
正直なところ、毎回php.iniを編集しなければならないスマイルサーバーでのWP運用は避けた方がよいと思います。
当ページの末尾にあるようにこのブログはXserverを使っており、別でさくらインターネットも使っていますが、それらではphp.iniの編集が必要だったことは1度もありませんでした。
他にも理由はありますが、可能なら乗り換えることをお勧めします。
5人がこの記事を評価
役に立ったよという方は上の「記事を評価する」ボタンをクリックしてもらえると嬉しいです。
連投防止のためにCookie使用。SNSへの投稿など他サービスとの連動は一切ありません。