Skip to content

Local Sites で admin-ajax 実行が 503 になる場合(fastcgi_read_timeout)

P-WORLD 配信メールアーカイブの「今すぐ取得・保存する」など、/wp-admin/admin-ajax.php重い処理(IMAP取得・画像ダウンロード等) を同期実行すると、PHP 側で set_time_limit() を延ばしても Nginx 側の FastCGI タイムアウトが先に切れて、ブラウザには HTTP 503 が返ることがあります。

症状

  • 管理画面操作で「リクエストに失敗しました(HTTP 503)…」が出る
  • サーバーログでは Nginx の upstream timeout が見えることがある

対処(Local Sites の Nginx 設定を延長)

Local Sites のサイトごとの Nginx 設定で fastcgi_read_timeout を延長します。

  1. Local アプリで対象サイトを開く
  2. SiteOpen Site Shell(または同等のシェル起動)
  3. Nginx 設定(サイト側の設定ファイル)を開き、fastcgi_read_timeout を追加/変更

例(300 秒に延長):

nginx
location ~ \.php$ {
  fastcgi_read_timeout 300;
  # ... other fastcgi settings ...
}
  1. Nginx を再起動(Local Sites 側の「Restart site」等)

補足

  • この設定は Local Sites の構成によってファイルの場所・再起動手順が異なります(Local Sites の UI から該当サイトの Nginx 設定に辿れる場合があります)。
  • タイムアウト延長は根本対策ではありません。長期的には「重い処理の非同期化(ジョブ化)」が有効です。