当ブログは、レンタルサーバーのConoha WINGを使って、WordPress上で書いています。
先日、新たなブログ記事に動画をアップロードしようとしたところ……。

「このファイルはサイトの最大アップロードサイズを超えています」とメッセージが出て、アップロードが出来ませんでした。

今回はこのエラーの原因と、解決策を徹底説明していきます。
以下の確認と対策を行うことで、本問題を解決することができますよ!
※ブログ開設のおすすめサービスはConoha WING!
このエラーの原因は?
エラー内容は「このファイルはサイトの最大アップロードサイズを超えています」でした。
WordPressの「メディア」から、メディアファイルを追加を見てみると……。

最大アップロードサイズ:32MBとなっていました!これでは、フルHDサイズの動画ファイルをアップロードしようとしたらサイズオーバーになる可能性が高いです。結論、このサイズを設定変更すれば解決することが分かりました。
解決策は?
ファイルのアップロードやスクリプトの処理能力に関わる設定は、サーバー上(PHP)のphp.iniファイルで設定される、3つの項目「memory_limit、post_max_size、upload_max_filesize」で変更できるようです。
これらの項目を設定変更して、解決できるか検証していきます。
php.iniで設定する項目は?
今回設定する項目の説明は以下。
| 項目名 | 説明 | 役割 | 特記事項 |
| memory_limit | PHPスクリプト1つが実行中に確保できるメモリの最大容量 | 無限ループや巨大なデータを扱うプログラムが、サーバーのメモリをすべて食いつぶしてサーバーダウンを引き起こすのを防ぐための安全装置です。 | 一般的なWebサイトでは128Mや256Mがデフォルトですが、画像処理(リサイズ等)を行う場合はより大きくする必要があります。 |
| post_max_size | POSTメソッドで送信されるデータ全体の最大サイズ | フォームから送信されるすべてのデータ(テキストボックスの内容 + アップロードファイルなど)の合計サイズの上限を決めます。 | ファイルアップロードを行う場合、ファイルそのもののサイズだけでなく、一緒に送信される他のデータも含めた総量であることに注意が必要です。 |
| upload_max_filesize | アップロードされるファイル「単体」の最大サイズ | 1つのファイルとしてアップロードできるサイズの上限です。 |
これら3つの設定値には、正常にアップロード処理を行うために守らなければならない大小関係があり、基本的に、以下の順番で設定値を大きくする必要があります。
memory_limit > post_max_size > upload_max_filesize
なぜこの順番なのか?の理由は以下です。
1.upload_max_filesize: まず、個々のファイル制限をクリアする必要があります。
2.post_max_size: 次に、ファイルを含めたPOSTデータ全体(封筒全体)が通る必要があり、ファイル単体制限より大きくないと矛盾が生じます。
3.memory_limit: 最後に、受け取ったデータを処理するためにスクリプトが動きます。場合によってはアップロードデータをメモリ上に展開する必要があるため、一番大きく設定するのが安全です。

Conoha WINGのコントロールパネルで設定変更
php.iniの設定変更は、Conoha WINGのコントロールパネルにログインして行います。

設定は「サイト管理 → サイト設定 → 応用設定 → PHP設定 → php.ini編集」で行います。

php.ini編集には、何も記載されていません。

以下の通り、3つの項目をテキストで書き込んで保存します(アップロードサイズは最初、50MBで設定してみました)

設定変更すると、成功のメッセージ表示。

※upload_max_filesizeだけ記述すればOKだと思っていましたが、設定が反映されなかったので、3つすべて記述しました。
作業される方は、以下のテキストファイルをご利用ください(容量(MB)は利用状況に合わせて適宜修正)
memory_limit = 256M
post_max_size = 100M
upload_max_filesize = 50M
作業結果は?
改めてWordPressのメディアから、メディアファイルを追加を見てみると……

設定が反映されて50MBになりました!

50MB以下のファイルをアップロードしてみると、もちろんアップロードOK。

まとめ:設定値と順番に注意しながら作業しましょう
今回は、WordPressでブログ記事を書いている時に起こった、「最大アップロードサイズを超えています」というエラーについて、原因と解決策を解説してみました。
私が契約しているレンタルサーバーのConoha WINGを使っての手順でしたが、他のサーバーでもphp.iniを設定変更すれば対処可能です。WordPressで同じようなエラーが出ていて、困っている方はぜひ試してみてください!





コメント