エス技研

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


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

      2018/03/03

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」を変更してお茶を濁す方法でしょうがない、という感じでしょうか。
 
 

XAMPPの関連記事

XAMPP本体や PHPのバージョンアップをせずにもう一つXAMPPをインストールして複数の環境を共存させる方法
XAMPPとは?パソコンにローカル LAMP環境を簡単に設置する方法を詳細解説
XAMPPにVirtualHostを設定しドメイン、ドキュメントルートを設置する方法
XAMPPのApacheが起動しない!ポート番号の変更でバッティングの解消方法
MySQLのタイムゾーン(mysql_tzinfo_to_sql)の設定方法・XAMPP環境の解説も
XAMPPのWordPressの更新でFatal error: Maximum execution time of 30 seconds exceededのエラーが発生して失敗する場合の対処方法
XAMPP環境で WP-DBMANAGERでの復元でDBが壊れる
XAMPPの Apacheが起動しなくなった場合の対処方法
XAMPP環境(ローカル環境)の sendmailからPHPメールを送信する設定方法
PHPを勉強するための環境を構築するにはXAMPPが最適
 
その他の「xampp」に関する記事一覧
 
 

 - WordPress

GoogleAdwords

GoogleAdwords

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

Message

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

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

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

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

  関連記事

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

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

WordPress csvインポート、エクスポートのプラグイン

WordPressから csvファイルをエクスポート、インポートする方法を紹介しています。

Contact Form 7の使い方・引数で情報を受け渡す方法

Contact Form 7で引数の情報をフォームに編集する方法を解説します。

WordPress プラグインのアップデート失敗でデータが消える事態が!

プラグインのアップデート失敗でデータが消失。不具合が起こる原因はあちこちにありますので常に慎重にバックアップをしましょう。

Category OrderでWordPressのカテゴリを並替えよう

Category Orderは基本機能では並び替えができないカテゴリを並び替える機能を提供するプラグインです。ドラッグ&ドロップで並び替えができる簡単インターフェイスです。

Export to Textで WordPressを csv出力

WordPressのデータを csv出力する Export to Textの使い方を解説しています。

BackWPupでバックアップ・設定したJobの実行、ファイル一覧

BackWPupその4。バックアップ設定した Jobを実行する方法、ログの一覧、保存されたファイル一覧の解説です。

Category Order and Taxonomy Terms Orderでカテゴリ・タクソノミーのタームの順番を並び替える

標準機能では行えないカテゴリやタクソノミーの並び替えを行うプラグインCategory Order and Taxonomy Terms Orderの紹介です。

WordPressのカテゴリやタクソノミーにカスタムフィールド項目を追加する方法

WordPressのカテゴリやタクソノミーに編集する項目を追加する方法の解説。Advanced Custom Fieldsを使うと簡単。テンプレートに記述する方法も解説。

WordPressでダブルクォートなどの文字が自動変換?原因と対処方法

ダブルクォート、シングルクォート、HTMLタグなどが自動変換関数によって入力と違う形で表示されます。原因を2つの関数ごとに説明し、対応方法を3パターン提示します。