*

WordPressで既存の投稿(エントリー)を更新するとcron.phpの処理でタイムアウトが発生する時の対処方法

公開日: : PHP, WordPress


スポンサードリンク



WordPressで既存の投稿(エントリー)を更新するとブラウザに以下のように表示されるようになった時の対処方法を記載させていただきます。

エラーが発生した時のブラウザの画面キャプチャーは以下の通りです。
スクリーンショット 2014-10-12 16.06.33
パスを省略したエラーメッセージは以下の通りです。
Fatal error: Maximum execution time of 30 seconds exceeded in wp-includes/cron.php on line 46

Fatal error: Maximum execution time of 30 seconds exceeded inの意味

PHPでは無限ループの対策のため、PHP処理のタイムアウトが設定することが可能となっています。
タイムアウトのデフォルト値が30秒となっており、cron.phpの46行目の処理が30で終わらないことでエラーが発生しているようです。

本問題に対する対症療法

PHP処理のタイムアウト時間をのばすことで、とりあえずエラーは発生しなくなります。
この設定は、php.iniとWordPressインストールフォルダの直下に存在する.htaccessを変更することで行えます。

php.iniの変更方法は。ご利用の環境によって異なります。
本ブログはロリポップを利用していますので、ロリポップでの設定変更方法も記載させていただきます。

ロリポップでの設定変更

ロリポップユーザー専用ページにアクセスしログイン

ユーザー専用ページにWebブラウザでアクセスします。
すると以下の画面が表示されますので、ご自身のアカウント情報を入力して「ログイン」ボタンをクリックします。
スクリーンショット 2014-10-12 16.57.19

「php_value, php_flagを利用可能にする」設定を実施

左側のメニューから「WEBツール」をクリックします。
画面遷移後に、さらに開いたメニューから「PHP設定」をクリックします。

すると以下のような画面が表示されますので変更対象のドメインの「設定変更へ」ボタンをクリックします。
スクリーンショット 2014-10-12 17.57.44

次に以下の画面が表示されますので
「php_value, php_flagを利用可能にする」をOnに変更し
最下部の「php.iniを設定する」ボタンををクリックします。
ロリポップ!ユーザー専用ページ - php.iniの設定 (1)

.htaccessの設定変更

WordPressインストールフォルダの直下に存在する.htaccessの最後に
php_value max_execution_time 60
の一行を追加します。この設定でタイムアウトが60秒に変更されます。

本問題に対する根本療法

cron.phpの46行目は以下の処理で
uksort( $crons, “strnatcasecmp” );
crontabで動作させる後処理の情報をソートする処理となっているようです。
キャッシュ系プラグインのキャッシュクリア処理等が考えられますが、ソートで30秒以上かかる程の処理が存在する訳はないはずですが・・・

とりあえず60秒のタイムアウトで動作しているので、これ以上の原因究明はゆっくりやろうと思います。

おそらくいろんなキャッシュ系のプラグインを試行錯誤してインストールしたり、アンインストールしたり
設定変更を何回もしたりしたので、その関係でcrontabで実行するゴミがたまっているように思えます。


スポンサードリンク



関連記事

no image

WordPressのソースを読んでみる【その1】

少しずつですがWordPressのソースを読んでいこうと考えております。当然WordPressはPH

記事を読む

no image

WordPress利用者向けPHP入門【基本的な利用方法と変数】

WordPressのソースを読むためのPHP入門として WordPressのソースを読むために必要

記事を読む

no image

ウェブマスター ツールの構造化データでauthor がありません、updated がありませんとエラーが出る。

前々から気になっていたのですが、 「ウェブマスター ツール」の「検索デザイン」>「構造化

記事を読む

no image

WordPressにGoogle Analyticsを導入する。

WordPressのアクセス解析には「StatPress Reloaded」を利用しているのですが、

記事を読む

no image

突然WordPressの「投稿一覧」画面に存在するはずの投稿がみつからないず「投稿が見つかりませんでした。」と表示される。

なんだか昨日からおかしいと思っていたのですが 突然WordPressの「投稿一覧」画面が以下のよう

記事を読む

no image

WordPress(Stinger3)の見出し2のCSSを変更する

WordPress(Stinger3)の見出し2のCSSを変更してみました。 何故変更したかと言う

記事を読む

no image

WordPress(Stinger3テーマ)のナビゲーションメニュー追加

テーマはStinger3を利用しています。WordPressのバージョンは3.7.1です。 ナビゲ

記事を読む

no image

WordPress 3.9の 自動で動く「下書き保存機能」が不安定です。

WordPress 3.9に本日アップしたのですが、不安定ですね・・・ 自動で動く「下書き保存

記事を読む

no image

WordPressのテーマStinger3におけるstyle.cssの修正点の備忘録

WordPressのテーマStinger3におけるスタイルシート修正(style.css)の備忘録で

記事を読む

no image

ウェブマスター ツールの構造化データでauthor がありません、updated がありませんとエラーが出る。[結果報告]

前回修正したウェブマスター ツールの構造化データのエラー発生の件の結果報告をさせていただきます。

記事を読む

Message

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

Optimization WordPress Plugins & Solutions by W3 EDGE
PAGE TOP ↑