StaticPress2019のmax_execution_timeによる再構築エラーの解決方法

IT
この記事は約3分で読めます。
スポンサーリンク

導入

本ブログを運営する時に利用しているWordPressのプラグインとして、StaticPress2019があります。先日、WordPressのバージョンアップ後にStaticPress2019のエラーが発生し、ロールバックするという事象が発生しました。その時に調査した内容を整理してみました。

環境

  • DockerEngine:24.0.6
  • DockerCompose:v2.23.0
  • WordPress:6.4.1
    • Dockerイメージ:wordpress:6.4.1
      • ベースOS:Debian11
      • php:8.0.30
      • Apache:2.4.56
  • MySQL:8.0.35
    • Dockerイメージ:mysql:8.0.35
      • ベースOS:Oracle Linux Server 8.8
  • StaticPress2019:0.8.0

事象

StaticPress2019の再構築画面で、「再構築」ボタンをクリックすると、「初期化中…」が表示された後、「エラー」と表示され、静的HTMLが生成されませんでした。

原因

StaticPress2019の「再構築」のスクリプト処理時間がデフォルトの30秒を超えてしまい、タイムアウトエラーになってしまっていました。

修正内容

max_execution_timeの設定がデフォルト30(秒)になっていたため、変更する必要がありました。max_execution_timeの設定変更は、以下の3通りの方法があります。今回は、デフォルトの30秒になっていたため、php.iniにmax_execution_timeを定義し、設定秒数として300秒に変更しました。

php.ini(今回はこれで解消)

/usr/local/etc/php/php.ini(phpの設定ファイル)に以下を設定します。

max_execution_time = [設定秒数]

Apacheを再起動し、変更したphp.iniを読み込ませます。

/etc/init.d/apache2 restart

.htaccessでの設定方法

/var/www/html/.htaccess(サーバの設定ファイル)に以下を設定します。

php_value max_execution_time [設定秒数]

Apacheを再起動します。

wp-configでの設定方法

/var/www/html/wp-config.php(WordPressの設定ファイル)に以下を設定します。

set_time_limit([設定秒数]);

Apacheを再起動します。

確認方法

設定変更が完了後、以下の手順でWordPressの画面から確認することができます。

  1. 左側のメニューから「ツール>サイトヘルス」を選択
  2. 「情報」タブを選択
  3. 「サーバー」を選択
  4. 「PHPタイムリミット」の数字が「30」から変わっていることを確認

まとめ

WordPressの画面だけ見ていると、「エラー」しか出ないため、解決に時間がかかりました。
PHPに触るのが初めてなため、解決に数時間もかかってしまいましたが、よくありがちなエラーかと思いますので、困っている誰かの参考になれば幸いです。
運用上、環境設定のチューニングは重要ですね。

IT
スポンサーリンク
シェアする
jumborinをフォローする
タイトルとURLをコピーしました