エス技研

WordPress、CakePHP、PHP、baserCMSなどの Web系システムを中心に情報を提供します!


XAMPPのWordPressの更新でFatal error: Maximum execution time of 30 seconds exceededのエラーが発生して失敗する場合の対処方法

      2017/03/11

XAMPP環境のWordPressを更新すると「Fatal error: Maximum execution time of 30 seconds exceeded ...」のエラーが発生して更新が失敗する場合の対処方法の解説

 

XAMPP環境の WordPressを更新すると更新失敗する状況と経緯

 
このブログを書くときなどの実験にも利用している XAMPP環境の WordPressですが、ある日を境に更新できなくなりました。バージョン 4.5以降なんじゃないかと思ってます。
 
20160919_wp_01
 
WordPressの「更新」の画面にある「いますぐ更新」をクリックすると、更新が始まるのですが、下記のエラーメッセージが出て途中で止まってしまうのです。
 
20160919_wp_02
 
Fatal error: Maximum execution time of 30 seconds exceeded in C:\xampp\htdocs\WordPress\wp-admin\includes\class-wp-upgrader.php on line *****
 
このエラーメッセージ自体は以前から出ていたのですが、以前は、一度画面を戻って改めて「いますぐ更新」をクリックすると正常に終了してました。
ですが、現在(バージョン 4.5以降?)は、「別の更新が現在進行中です。」というメッセージが出て再度の更新ができなくなりました。
 
 
ネットで調べると、しばらく待っていると更新が終わっているという報告も多いようですが、ローカルの XAMPP環境ではいつまで待っても終わらないため、1回目で更新が終わる対応をする必要に迫られまして、対処療法的ではありますが、対応方法について解説します。
 
 


 

Maximum execution time of 30 seconds exceededのエラーメッセージ

 
表示されるエラーは、下記のような感じでいくつかのパターンがあります。
 
Fatal error: Maximum execution time of 30 seconds exceeded in C:\xampp\htdocs\WordPress\wp-admin\includes\class-wp-upgrader.php on line *****
 
Fatal error: Maximum execution time of 30 seconds exceeded in C:\xampp\htdocs\wordpress\wp-admin\includes\class-wp-filesystem-direct.php on line *****
 
表示されるエラーのファイルや、エラーの行数は、これというものが決まっているわけではありません。
 
でも、「Fatal error: Maximum execution time of 30 seconds exceeded」の部分、「致命的なエラー:(PHPの処理の)最大実行時間の 30秒を超過しました」が不具合の説明になっていますので、この部分がエラーメッセージとして大事な部分です。
 
要するに、「PHPの処理を継続する設定の 30秒以内に終わらなかったので強制終了させました」ということです。
 
 

Maximum execution time of 30 seconds exceededはmax_execution_timeで対応

「Maximum execution time of 30 seconds exceeded」のエラーメッセージは、「PHPの処理時間の上限までに終わらなかった」というものなので、PHPの処理時間の上限を 30秒より大きくすれば解決します。
(ローカルの XAMPP環境なので、気軽に処理継続時間を増やしますが、これが Web上に公開されているレンタルサーバなどの場合は、この数値を変更する場合は慎重な判断をしてください。
 急激にアクセスが増加した場合や、外部からの不正なアクセスがあった場合にサーバが落ちる原因になります。)
 
 
この PHPの処理の継続時間に関しては、PHPの設定ファイルである「php.ini」の「max_execution_time」という項目で設定されています。
 
「max_execution_time」の情報を phpinfo()関数で見ることができる設定情報では以下のようになっています。
20160919_wp_03
 
 
この設定は「php.ini」に記述されていますので、それを変更します。
 
XAMPPの場合は、XAMPPのコントロールパネルの「Apache」の「Config」ボタンの中にある「PHP(php.ini)」を選択します。
20160919_wp_04
 
「php.ini」ファイルでは下記の個所が該当しますので、ここを変更します。
20160919_wp_05
 

 
「max_execution_time」の値はデフォルトは「30」ですが、これの数値を増やします。
数値の値は「秒」なので、120くらいにしておくと 2分間は処理を続けてくれますので、おおよそ不具合がなくなるんじゃないかと思います。
 
また、「0」にすると無制限になりますので、ローカルならばその設定も悪くないのですが、万一自作のプログラムなどが止まらなくなった場合のことを考えると、ローカル環境でも「0」ではない設定の方がいいんじゃないかと思います。
 
 
値を変更したら、XAMPPのコントロールパネルで、変更を反映させます。
具体的な作業は、「Apache」の「Stop」をクリックし、その後「Start」をクリックすることで Apacheが再起動されて php.iniの設定変更が反映されます。
 
 
phpinfo()関数で結果が反映されていることを確認してみるのもいいんじゃないかと思いますが、いきなりアップデートを実行してみてエラーが出なければ OK、ってことでいいんじゃないかとも思います。
 
もし、「max_execution_time = 120」でもエラーが消えない場合は、この数値を増やして試してみてください。
 
 

Maximum execution time of 30 seconds exceededのエラーが出る原因

 
Maximum execution time of 30 seconds exceededのエラーが出る原因は様々ですが、何かしらの処理に時間がかかっているために、PHPの処理時間をオーバーすることになります。
 
そのため、「max_execution_time」を変更する方法を選択しましたが、この対応方法はあくまでも対処療法です。
 
根本的な解決を目指すには、処理に時間がかかっている箇所を検証し、処理時間がかからないような処理に替えていくことができるならば、その方がより良い解決策となります。
 
ただ、まぁ、今回の件は WordPressでし、ローカル環境の XAMPP環境ですので、原因を検証するだけでも結構面倒なことになるでしょう。
私の環境で発生した不具合は、ファイルのダウンロードに時間がかかっているんじゃないかと思える状況ですので、根本原因の解消はかなり難しく、「max_execution_time」を変更してお茶を濁す方法でしょうがない、という感じでしょうか。

 - WordPress

GoogleAdwords

GoogleAdwords

最後までお読みいただきましてありがとうございます。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

下記の空欄を埋めてください。 * Time limit is exhausted. Please reload CAPTCHA.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

※入力いただいたコメントは管理者の承認後に掲載されます。

  関連記事

Broken Link Checkerのリンク生死チェックでサイトの品質向上!SEO対策!

Broken Link Checkerは記事内のリンクのリンク切れチェックをし自動的にリンク切れの対処をします。リンク切れは一覧表示されますので手動での処置も可能です。

WordPressのユーザ名を後から変更する方法。adminの使用は危険。

運用中のユーザ名を変更する方法を解説。かつてのデフォルト設定だった「admin」は誰もが使うIDのため非常に危険です。今からでも変更しましょう。

WordPressの送信メールが協定世界時(UTC・グリニッジ標準時)の問題対応

WordPressから送信されてくるメールが9時間ずれている。その不具合の解消方法と根本原因の解説です。date_default_timezone_set();の設定を変更で対応できます。

WordPressで WPtouchを入れてモバイルテーマを「OFF」にしたら元に戻れなくなった

WPtouchを入れてモバイルテーマを「OFF」にしたら元に戻れなくなった。これは「wp_footer」の設定に問題があるからだった。

WordPressプラグインの3つのインストール方法解説

プラグインのインストール方法の特徴とおススメの方法を理由を含めて解説していきます。

WordPressで月極駐車場検索サイトを構築し無料公開・使ったプラグインの紹介も

月極駐車場を検索するシステムをWordPressで構築。そのアナウンスと構築するために利用したプラグインの紹介。構築にどれくらいの期間がかかるのかの紹介。

seesaaからWordPressに引越。インストールなど必要な全てを解説

seesaaブログからWordPressへの引越し解説。他のブログにはないseesaaブログからcanonicalとリダイレクトの設定方法を実装!

WordPressのSEOタイトル、キーワード、ディスクリプション編集解説

ヤフーやグーグルの検索結果を見ながらSEO視点でタイトル、ディスクリプションを書く際の基準を解説!スマホ対策も解説!

プラグインが原因で起動しないWordPressを復旧させる方法解説

プラグインが原因で WordPressが起動できなくなった、ログインできなくなった場合の対処方法の解説です。

BackWPupでバックアップ・Jobの設定・保存先の情報設定

BackWPupその3。Jobのバックアップファイルの保存先の設定についての解説。