エス技研

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.

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

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

  関連記事

AddQuicktagを使って WordPressの投稿を楽にする

投稿時にタグの入力を楽にしてくれるプラグイン「AddQuicktag」の使い方の説明です。クリック一つでタグを編集できます。

テキストエディタ秀丸で正規表現による置換の方法の解説

秀丸で正規表現による置換を行うポイントを紹介。置換をしながら特定のキーワードは置換せずに置換結果に残す方法を実例を上げながら解説しています。

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

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

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

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

WordPressのカテゴリの編集の解説

WordPressのカテゴリって何?というところから説明し、カテゴリを登録、編集する方法を解説します。また、カテゴリの順番を自由に変える方法も解説します。

Advanced Custom Fields(ACF)のアドオン・繰り返しフィールドの使い方解説

Advanced Custom Fieldsのアドオン・繰り返しフィールドについて解説。繰り返しフィールドは投稿者が入力フィールドを追加しながら情報を入力できるフィールドを提供。

技術ブログの悲劇。複数ブログをWordPressに引越して分かったこと

ブログによってユーザ層が違う。ユーザ層が違えば検索エンジンやブラウザ等が違うため、まずアクセス解析をやってみることが大事。一つの分析方法を紹介。

Smart Update PingerでWordPressのPing・更新情報サービスを拡張する

WordPressの Ping機能、更新情報サービスのプラグイン Smart Update Pingerの使い方と問題点。

WordPressのサイドバー(サイドナビ)はウィジェットで編集

サイドバー(サイドナビ)を編集するウィジェットの利用方法の解説です。カテゴリ一覧、アーカイブ、リンク集などを設定する方法を解説しています。

WP Multibyte PatchでWordPressの管理画面のイタリック体を解消

管理画面の一部の文字がイタリック(斜体)になっているのはプラグイン「WP Multibyte Patch」が有効になっていないためです。日本語を使うには必ず有効化しましょう。