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. セキュリティとパフォーマンス: セキュリティとパフォーマンスを考慮しながら、適切な設定を行いましょう。
関連記事: