NTT PCのSuiteXを使用していますが、このレンタルサーバーからWordPress6.1への自動アップデート時にエラーが発生したとメールが届いていました。
ログインして手動更新を試してみたところ、「ダウンロードに失敗しました。ファイルのチェックサム……と一致しません。インストールに失敗しました。」で終了してしまいました。
そういえば、以前同じ現象に遭遇しました。この時は力ずくで更新したのですが、作業が大変だったことを思い出し、今回はちゃんと調べることにしました。
そうしたら、なんと、SuiteX固有の既知の問題でした。が~~~ん。
SuiteXのサポートページにドキュメントがあるじゃない!ガックリ。
ダウンロードした更新プログラムのファイルサイズが、SuiteXがデフォルトで準備している /tmp ディレクトリーの容量を越える場合があるんですって。
対策としては、契約しているサーバーの特定の場所に、任意のファイル名のtmpフォルダーを作って、そこを使えってこと。
具体的には、php.ini に
sys_temp_dir="/virtual/お客さまIPアドレス/data/<任意のディレクトリ名>"
を書き込むとok。
私の場合は、
sys_temp_dir="virtual/お客さまIPアドレス/data/tmp"
と、設定しました。。。。が、これが結構面倒くさかった。
まず、自分が使っているPHPのバージョンを確認しないといけない。そのためには、phpinfo.php という小さなスクリプトを書いて、サーバーに置き、アクセスしてみるとのこと。これは、サポートページじゃなく、サイトマネージャーの
TOP > サイトマネージャー > Web&FTP管理 > CGI管理 > php.ini 編集
に書いてありますので、その通りにします。
<ご契約サーバーの php.ini 標準設定を確認する方法>
1. テキストエディタ(メモ帳等)で以下を記述して、ファイル名「phpinfo.php」保存
<?php
phpinfo();
?>
2. FTPで1.で作成したファイルをドキュメントルートへアップロード
3. ブラウザで http://利用ドメイン名/phpinfo.php にアクセス
私の場合は php7.4 と表示されたので、同じページの php.ini 編集フィールドから、php7.4を選択して、sys_temp_dir を定義した後に、ftp で /data/tmp ディレクトリを作成。
これで準備完了。
この後でWordPress6.1 への手動更新を行ったところ、先ほどまで出ていたチェックサムエラーが消えアップデートが完了しました。すべてのバージョンアップで、ファイルサイズがオーバーするわけじゃないみたいなので、php.ini ファイルから sys_temp_dir を消してもいいのかとは思いますが、のちに同じ現象になっても面白くないので、ディスク容量に余裕があるうちは放置でいいでしょう。