WordPress

【WordPress】PHPのファイルアップロードの上限を増やす方法

WordPressの管理画面でサイズの大きな画像ファイルや動画ファイルをアップロードしようとすると、

このサイトのアップロードサイズ上限を超えています。

とエラーが表示されてアップロードできないことがあります。画像で見ると以下のような状態です。

メディアフォルダの最大アップロードサイズが8MB

画像では「最大アップロードサイズ」が「8MB」になっています。

これでは小さすぎて大きな画像や動画ファイルをアップロードできないかもしれません。

このようにサーバーでデフォルトで設定されているアップロードサイズ上限はデフォルトでは小さく設定されていることが多く、より大きなサイズのファイルをアップロードするためには、自力でサーバーの設定を変更する必要があります。

最大アップロードサイズを増やす設定をすることで、大きなファイルをアップロードできるようになります。

それでは具体的な設定方法について解説します。

サーバーの「php.ini」ファイルで設定する方法

WordPressを動作させているサーバーには「php.ini」というPHPの設定ファイルがあります。

この「php.ini」ファイルの設定を変更して、ファイルアップロードの上限サイズを増加できます。

実際に設定する際には、アップロードの上限サイズと共に、他のパラメーターも設定を変更する必要があります。

具体的には以下の5つの項目です。

設定項目 説明
post_max_size POSTデータの最大サイズ
upload_max_filesize アップロードするファイル1つ当たりの最大サイズ
memory_limit メモリ使用量の上限
max_input_time PHPがPOST、GETを処理する最大時間(秒)
max_execution_time PHPスクリプトの最大実行時間(秒)

直接的にアップロードサイズに関係のあるパラメータは「upload_max_filesize」ですが、基本的にはこれら5項目を同時に調整します。

なぜかと言うと、これらの設定項目には1つのルールがあるからです。

パラメータのルール

memory_limit >= post_max_size >= upload_max_filesize

上記のルールにしたがってパラメータの数値を設定する必要があります。特に「post_max_size」は「upload_max_filesize」よりも大きい数値を設定することが重要です。アップロードされたファイルはPOSTデータとして処理されるため、アップロードファイルの上限値より大きな数値でないと、アップロードされたファイルがPHPで処理できなくなるからです。

php.iniの設定サンプル

memory_limit = 700M
post_max_size = 600M
upload_max_filesize = 500M
max_input_time=60
max_execution_time=30

上のサンプルではファイルアップロードの上限サイズを500MBまで増やしました。数値に関しては利用状況に合わせて修正してください。

このサンプルの記述をそのままphp.iniファイルにコピーすれば、WordPressでアップロードできるファイルサイズの上限が500MBになります。

ファイルサイズの上限を500MBに設定

このようになっていれば成功です。

サーバーの「.htaccess」ファイルで設定する方法

使用しているサーバーによっては、「php.ini」ファイルの設定ができないサーバーもあります。

このような場合は、WordPressがインストールされているディレクトリにある「.htaccess」ファイルを変更することで、アップロードできるファイルサイズの上限が変更可能です。

.htaccessの設定サンプル

php_value post_max_size 600M
php_value upload_max_filesize 500M
php_value memory_limit 700M
php_value max_input_time 60
php_value max_execution_time 30

「.htaccess」に上記のように記述をすれば、ファイルアップロードの上限サイズが500MBになります。(※さきほどのphp.iniと同じ数値を設定しています。利用環境に合わせてカスタマイズしてください)

エックスサーバーでは管理画面で設定可能

レンタルサーバーの「エックスサーバー」ではサーバーの管理画面で「php.ini」ファイルのカスタマイズが可能です。

サーバーパネルにログインして「php.ini設定」をクリックします。

エックスサーバーでphp.iniの設定

php.iniの設定対象となるドメインを選択します。

ドメインを選択

「php.ini設定変更」

管理画面に用意されている各項目ごとにphp.iniの設定を記述していく方法です。

php.iniの設定

画面の下の方にスクロールすると、ファイルアップロード関係の設定が表示されますので、数値を入力します。

数値の変更ができたら、「確認画面へ進む」をクリックし設定を確認して、「変更する」ボタンをクリックします。

「php.ini直接編集」

サーバーに設定されている、「php.ini」ファイルを直接編集する方法です。

php.iniの設定

下の方にスクロールして、ファイルアップロード上限サイズの関する設定を入力します。

php.iniの設定

設定の入力ができたら、「確認画面へ進む」をクリックし設定を確認して、「変更する」ボタンをクリックします。

まとめ

今回紹介したファイルアップロードの上限に関するエラーは、WordPressに大きな画像や動画ファイルをアップロードする時に頻繁に見かけるエラーです。

しかしこの記事で紹介したカスタマイズを設定しておけば、今後大きなファイルをアップロードする時にエラーが表示されることなく、正常にアップロードできます。

設定の方法が複数あり、少し複雑ですが、WordPressで大きなファイルを扱いたい時には必須のカスタマイズです。

ABOUT ME
アバター
ドレッド
目標必達のために鬼努力を惜しまない個人事業主。記事執筆・ホームページ制作・メディア運営・コンサルティングのお仕事をしています。立命館大学中退。放送大学教養学部の全科履修生。中小企業診断士とFP1級を目指してハードに勉強中。

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA