WordPressを利用していると、定期的にアップデートの通知がくるとおもいます。アップデート内容にはセキュリティに関わる重要なアップデートも含まれているため、可能な限り最新の状態にすることが推奨されています。
ということで、さっそく更新を始めると対象ファイルのダウンロードが開始されますが、しばらくすると読み込みが止まってしまい、それ以上進まなくなる場合があります。
読み込みが止まる原因
一番多いのは「プログラムの実行可能時間を超過」してしまったパターンです。多くのプログラム言語には、一部の処理が全体のパフォーマンスを落とさないようにするために「タイムアウト時間」というものが設定されており、この時間をすぎると処理を中止する仕組みが備わっています。
PHPの実行可能秒数を確認する
WordPressはPHPという言語で動作しているため、PHPの実行時間を確認してみます。「php.ini」の中に「max_execution_time」と記載されている部分があるので探してみてください。ここで設定されている数値が、プログラムの実行可能秒数(=タイムアウトするまでの秒数)となります。以下の場合だと「30秒」ということになります。
※php.iniの場所がわからない方はこちら
;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;
; Maximum execution time of each script, in seconds
; http://php.net/max-execution-time
; Note: This directive is hardcoded to 0 for the CLI SAPI
max_execution_time = 30
php.ini を更新する
実行可能時間が30秒だと、ファイルサイズや実行した環境によっては時間内に終わらないことがあるので、実行可能時間を300秒に変更してみます。
;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;
; Maximum execution time of each script, in seconds
; http://php.net/max-execution-time
; Note: This directive is hardcoded to 0 for the CLI SAPI
max_execution_time = 300
再度WordPressを更新してみる
上記の変更をしたら、再度WordPressの更新を試してみましょう。たいていの場合はこの部分の変更でアップデートが正常に完了できようになると思います。ここの数値を変更しても変わらない場合は、PHPではなくWordPressやWEBサーバーのタイムアウト秒数の制限にひかかっている可能性があります。
今回変更した実行時間についてはそのままでも問題ないですが、気になる人は元の「30秒」に戻しておくと良いよ思います。ちなみに筆者は毎回戻しています(間違えてプログラムを暴走させてしまったときに直ぐ止まるように)
それではみなさん、自由なWEBライフをお過ごしください!