2026年5月20日
2026年5月20日
ファイルサイズ超過による500エラーの解決方法【upload_max_filesize】
はじめに
大きな画像・動画・プラグインZIPなどをWordPressにアップロードしようとすると、PHPのファイルサイズ制限に引っかかり500エラーが発生します。「ファイルサイズが制限を超えています」というメッセージが出る場合もあります。
ファイルサイズ制限に関連するPHP設定
| 設定項目 | デフォルト | 役割 |
|---------|---------|------|
| upload_max_filesize | 2M | 1ファイルの最大サイズ |
| post_max_size | 8M | 1リクエスト全体の最大サイズ |
| memory_limit | 128M | PHPのメモリ上限 |
| max_execution_time | 30 | 実行時間上限(秒) |
重要:post_max_size は upload_max_filesize より大きくする必要があります。
現在の制限値を確認する
// 確認用(使用後は削除)
echo 'upload_max_filesize: ' . ini_get('upload_max_filesize') . '<br>';
echo 'post_max_size: ' . ini_get('post_max_size') . '<br>';
echo 'memory_limit: ' . ini_get('memory_limit');
解決方法①:wp-config.phpで設定する(最も簡単)
// wp-config.php に追加(ファイルの先頭、define文の前)
@ini_set('upload_max_filesize', '64M');
@ini_set('post_max_size', '64M');
@ini_set('memory_limit', '256M');
解決方法②:php.iniで設定する
; php.ini
upload_max_filesize = 64M
post_max_size = 128M
memory_limit = 256M
max_execution_time = 300
max_input_time = 300
解決方法③:.htaccessで設定する(Apache限定)
# .htaccess に追加
php_value upload_max_filesize 64M
php_value post_max_size 128M
php_value memory_limit 256M
php_value max_execution_time 300
解決方法④:WordPress管理画面の設定を変更する(一部ホスティング)
一部のホスティング(cPanel等)では、管理画面から直接PHP設定を変更できます:
cPanel → ソフトウェア → PHP設定(PHP Selector)
→ upload_max_filesize / post_max_size を変更
アップロードの代替方法
ファイルが非常に大きい場合(動画等)、FTPで直接アップロードする方法が確実です:
1. FTPで wp-content/uploads/YYYY/MM/ フォルダにファイルをアップロード
2. WordPress管理画面 → メディア → 「ファイルをメディアに追加」
または、Add From Server プラグインを使用
注意事項
post_max_sizeは必ずupload_max_filesizeより大きく設定してください。例えばupload_max_filesize = 64Mならpost_max_size = 128M以上に設定します。- 動画ファイルは YouTube や Vimeo などの外部サービスを利用することを推奨します。サーバーへの直接アップロードはサーバー負荷と容量の観点から非推奨です。
まとめ
ファイルサイズ超過の500エラーは、upload_max_filesize と post_max_size を引き上げることで解決します。post_max_size は upload_max_filesize より必ず大きく設定してください。
関連記事: