2026年5月25日

2026年5月25日

WordPressのメディアアップロードがタイムアウトする場合の解決

はじめに

WordPressの管理画面でメディアファイルをアップロードしようとした際、タイムアウトエラーが発生することがあります。これは特に大容量の画像や動画ファイルの場合、頻繁に遭遇する問題です。

症状・背景

このテーマが必要になる主な場面:

  • メディアファイルのアップロード中に「サーバーとの通信がタイムアウトしました」というメッセージが表示される。
  • アップロードしようとしているファイルサイズが大きい場合。
  • サーバーの帯域幅や処理能力が低い環境下でWordPressを使用している場合。

手順・設定方法

ステップ1: PHPのタイムアウト時間を延長

# php.iniファイルを開く(存在しない場合は新規作成)
nano /etc/php/7.4/apache2/php.ini

# upload_max_filesizeとpost_max_sizeを適切なサイズに変更
upload_max_filesize = 100M
post_max_size = 100M

# max_execution_timeとmax_input_timeを延長する(デフォルトは30秒)
max_execution_time = 600
max_input_time = 600

ステップ2: .htaccessファイルにタイムアウト時間を設定

# .htaccessファイルを開く
nano /var/www/html/.htaccess

# Apacheのタイムアウトを設定
php_value max_execution_time 600
php_value max_input_time 600

ステップ3: WordPressのサーバー設定を調整

# wp-config.phpファイルを開く
nano /var/www/html/wp-config.php

# ファイル転送に関するタイムアウト時間を設定
define('FS_METHOD', 'direct');

ステップ4: サーバーコンフィグレーションを確認・調整

# Apacheの設定ファイルを開く
nano /etc/apache2/sites-available/000-default.conf

# 容量とタイムアウト時間を確認し、必要に応じて更新
LimitRequestBody 104857600

注意事項

  • PHPやApacheの設定変更はサーバー管理者またはシステム管理者が行うべきです。
  • ファイルサイズ制限を大幅に増加させると、サーバーレベルでのセキュリティリスクが高まる可能性があります。適切なファイルサイズ制限を設定しましょう。
  • サービスプロバイダーのポリシーにより、一部の変更は許可されない場合があります。

まとめ

1. PHPタイムアウト時間: PHP設定ファイルでタイムアウト時間を増やします。

2. Apacheタイムアウト時間: .htaccessファイルでApacheのタイムアウト時間を設定します。

3. FS_METHOD: wp-config.phpでファイル転送方法を指定して、WordPressが直接サーバーにアクセスできるようにします。

4. LimitRequestBody: Apacheの制限サイズを適切な値に設定し、大容量ファイルに対応させます。

5. セキュリティとパフォーマンス: セキュリティとパフォーマンスを考慮しながら、適切な設定を行いましょう。

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ