現在WordPressでこのサイトを作っていますが、大きな画像をサイトに載せようと思い、「メディアを追加」ボタンをクリックして画像をアップロードしようとした時にこんな画面が出てアップロードできない時があります。
「このサイトのアップロードサイズ上限を超えています。」と表示され、その下に「最大アップロードサイズ:2MB」と記載があります。
今どきコンパクトカメラで写真を撮ると、当たり前のように4MB近くのサイズになります。
2MBだとちょっと足りないかなと思うので変更方法を以下に説明します。
環境によっていろいろな設定方法があるので1つずつ試してみる
レンタルサーバーと言ってもすべて同じ環境ではないので、1つずつ確認しながら試してみてください。
もしうまくいったら、メモ帳にでもメモ書きをして忘れないようにしましょう。
私はよく忘れるのでテキストエディタにメモ書きをしてパソコンで保存しておきます。
レンタルサーバーの環境は5パターンある
パターン①
管理画面からphp.iniファイルを変更する
パターン②
.htaccessを直接設定する
パターン③
php.iniファイルを直接変更する
パターン④
変更自体を禁止している
パターン⑤
変更できるが無制限にできるわけではなく、ある一定の上限が課せられている
この5つのパターンに集約できると思います。
ちなみに私の環境です。
レンタルサーバー:エックスサーバー、リトルサーバー
ほとんどのレンタルサーバーは「パターン①」だと思います。
エックスサーバーは「パターン①」です。
リトルサーバーは「パターン⑤」です。
【エックスサーバー】 php.iniを編集する方法
php.iniファイルを編集する方法は簡単です。
大体のレンタルサーバーは、コントロールパネル上から「php.ini」を編集できます。
だからサーバーにログインしてphp.iniファイルの場所を探してviで編集するといった必要はありません。
エックスサーバーの場合も簡単に設定できます。
1.エックスサーバーにログインします。
https://www.xserver.ne.jp/login_info.php
2.サーバーパネルにログインします。
3.php.ini設定をクリックします。
4.編集したい対象のドメインを選択します。
5.「php.ini設定変更」タブをクリックします。
6.以下の値を設定します。
【例】
30MBまでのファイルをアップロードしたい場合
post_max_size 35M
upload_max_filesize 30M
※「post_max_size」は「upload_max_filesize」より若干多めに設定します。
※ちなみに私の場合は、30Mに設定していますが、実際は4Mを超えることはないです。
※「M」だけでOKです。「MB」まで入力する必要はありません。
7.「設定する(確認)」ボタンをクリックします。
一番右下に「設定する(確認)」ボタンがあります。
8.「設定する(確定)」ボタンをクリックします。
更に「設定する(確定)」ボタンまでありますね。
このボタンをクリックして初めて設定が反映されますので注意。
【リトルサーバー】 php.iniを編集する方法
リトルサーバーでの「php.ini」を編集する方法も簡単です。
ちなみに、私はリトルサーバーで一番安い「ミニプラン」(1ヶ月150円)を利用していますが、「ミニプラン」には制限があって初期設定(デフォルト)は「2MB」ですが、「php.ini」の設定をしてもMAX 8MBまでしか増やせません。
ただそれでも実際に8MB以上のファイルをアップロードすることもないですし、値段とパフォーマンスからして問題ないのでMAX の 8MBまで増やして利用しています。
1.「コントロールパネル」にログインします。
2.「PHPバージョン切り替え」をクリックします。
表記的に分かりづらいのですが、実は「php.ini」の設定はここにあります。
3.以下のようにphp.iniに値を追加して「内容を保存」ボタンをクリックします。
【例】
8MBまでのファイルをアップロードしたい場合
post_max_size = 10M
upload_max_filesize = 8M
※「memory_limit」は設定しない。
※8MBまでなら、「8M」と設定します。「8MB」まで記入する必要はありません。
4.「保存完了」の文字が表示されることを確認します。
.htaccessを編集する方法
今時のレンタルサーバーで「.htaccess」を直接編集するということはあまりないと思いますが、VPSやAWSなどのクラウドサービスでサイトを運用する場合もあるかもしれないので、念のために方法を記載します。
もし「.htaccess」を編集する場合は、必ずバックアップを取ってからにしましょう。
「.htaccess」の編集を間違えるとこんなエラーが出ます。
「Internal Server Error」ですね。
慌てなくても大丈夫です。
「.htaccess」のバックアップを戻すか、編集した部分を削除するだけで元に戻ります。
一番まずいのは、バックアップも取っていない、しかもどこを編集したのか覚えていない、だから記憶や直感でファイルをいじってハマるパターンです。
私もエンジニアですが、だからといってすべての技術を知っているわけではないので、設定を変更する際は慎重にすぐに元に戻せるようにしています。
1.「.htaccess」ファイルを開き、設定を入れます。
【例】
30MBまでのファイルをアップロードしたい場合
php_value post_max_size 35M
php_value upload_max_filesize 30M
2.ファイルを保存して、ファイルのアップロードを試して確認してみます。
memory_limitは設定しなくてもいいの?
私的には「memory_limit」は設定しなくてもいいと思います。
よほど古いphpのバージョンを使っている場合(例えば、10年以上前からphpのバージョンも設定も一切改善しないようなレンタルサーバー業者とか自分で構築した自宅サーバとか)、気を付ける必要がありますが、それ以外なら「memory_limit」はいじらない方がいいです。
もし上記設定でもダメなら最終手段として設定してみてください。
上記設定をしてもアップロードファイルのサイズ制限を変更できない場合
レンタルサーバー会社側で制限をかけているので、レンタルサーバー会社に問い合わせましょう。
・設定が間違っていた場合
→以下のような「Internal Server Error」がでる。
・設定が正しいけど、ファイルサイズが変わらない場合
→レンタルサーバー会社側で制限をかけているので問い合わせてみる
コメント