WordPressで大きなファイルをアップロードしようとした際に、「アップロード上限を超えています」というエラーが表示されることがあります。この制限はサーバーの設定によって決まっており、デフォルトでは比較的低い値に設定されています。
本記事では、WordPressのアップロード上限を変更する方法を詳しく解説します。
.htaccess を編集する(Apache環境)
共有サーバーを利用している場合、.htaccess を編集することでアップロード上限を変更できることがあります。
php_value upload_max_filesize 128M php_value post_max_size 128M php_value max_execution_time 300 php_value max_input_time 300
php_valueディレクティブは、ApacheがPHPをmod_phpとして動かしている場合にのみ有効です。PHP-FPMやFastCGIでPHPを実行している環境(PHPバージョンをディレクトリごとに切り替えられるような、現代的な共有サーバーの多くが該当します)でこの記述を追加すると、サイト全体が500 Internal Server Errorで表示できなくなります。追加する前に、phpinfo()の「Server API」がApache moduleかFPM/CGIかを必ず確認してください。FPM/CGI環境では、代わりに.user.iniファイルを使います。upload_max_filesize = 128M post_max_size = 128M max_execution_time = 300 max_input_time = 300
.user.iniは反映までに数分かかる場合があります。すぐに反映されなくても、少し時間を置いてから再確認してください。
この方法はApache環境の共有サーバーで有効です。
php.ini を編集する
サーバーの設定を直接変更できる場合は、php.ini ファイルを編集するのが最も確実な方法です。以下の設定を追加または変更してください。
upload_max_filesize = 128M post_max_size = 128M max_execution_time = 300
設定を適用する方法
変更を適用するには、サーバーを再起動する必要があります。
Apacheの場合
systemctl restart apache2
Nginxの場合
Nginxはphp.iniを直接解釈しません。Nginx+PHP-FPM構成では、php.iniの変更を反映するためにPHP-FPMを再起動する必要があります。
systemctl restart php-fpm # バージョン番号付きのサービス名の場合は例えば以下 systemctl restart php8.2-fpm # 念のためnginxも再起動しておくと安心 systemctl restart nginx
この方法はVPSや専用サーバーを使用している場合に有効です。
レンタルサーバーの管理画面から設定する
レンタルサーバーを使用している場合、管理画面からアップロード上限を変更できることがあります。
- cPanel の場合 → 「PHP設定」> 「upload_max_filesize」
- Plesk の場合 → 「PHP設定」> 「post_max_size」
これらの管理画面から数値を変更して保存するだけで適用されます。
functions.phpやwp-config.phpでは変更できないことが多い
「functions.phpやwp-config.phpにini_set('upload_max_filesize', '128M');を追記する」という方法も広く紹介されていますが、実はほとんどの環境で効果がありません。
PHPの設定項目には、
ini_set()で実行時に変更できる範囲(PHP_INI_ALL / PHP_INI_USER)と、php.ini・.htaccess・.user.iniなど設定ファイル側でしか変更できない範囲(PHP_INI_PERDIR / PHP_INI_SYSTEM)があります。upload_max_filesizeとpost_max_sizeはPHP_INI_PERDIRに分類されるため、functions.phpやwp-config.php内でini_set()を実行しても、エラーも出ないまま静かに無視されます。一方、max_execution_timeはPHP_INI_ALLのため、ini_set('max_execution_time', 300);をfunctions.phpに追加すれば実行時間の制限だけは変更できます。プラグインで変更する
サーバーの管理画面もファイル編集もできないレンタルサーバーの場合は、「Increase Upload Max Filesize」のようなアップロード上限変更用のプラグインを使う方法もあります。多くはWordPress管理画面から設定できて手軽ですが、内部的には結局.htaccessや.user.iniの生成・書き換えを行っていることが多く、サーバー側がその方式に対応していない環境では効果がない点に注意してください。
変更が適用されたか確認する
設定が適用されたか確認するには、WordPressのメディアアップロード画面で確認できます。
- WordPressの管理画面にログイン
- 「メディア」→「新規追加」 に移動
- 「最大アップロードサイズ」 をチェック

関連記事
よくある質問(FAQ)
まとめ
WordPressのアップロード上限を変更する方法はいくつかあります。環境に応じて適切な方法を選択してください。
| 方法 | 適用可能な環境 |
|---|---|
| php.ini 編集 | VPS, 専用サーバー |
| .htaccess 編集 | Apache + mod_php環境の共有サーバー(PHP-FPM環境では500エラーの原因になるため要注意) |
| .user.ini 編集 | PHP-FPM/FastCGI環境の共有サーバー |
| cPanel, Plesk | レンタルサーバー |
| プラグイン使用 | レンタルサーバー(ファイル編集不可の場合) |
サーバーの設定によっては、php.ini の変更が最優先される場合があるので、試しながら調整してみてください。upload_max_filesizeやpost_max_sizeはfunctions.phpやwp-config.phpのini_set()では変更できない点にも注意してください。

