WordPressで1MBを超えるサイズが大きい画像や音声・動画ファイルをアップロードすると失敗したことはありません?
それはWordPressではアップロードできるファイルサイズに上限があるからです。
上限のせいで失敗するというならその上限を増やせばいいだけですが、その設定はWordPress側ではなくそれをインストールしているレンタルサーバーで変更する必要があります。
設定方法もそれほど難しくないので、ここではそのアップロード上限を変更する3つの方法について紹介します。
目次
アップロード上限を定めているもの
普段サイズの小さい画像しかアップロードしないならアップロード上限について気にすることはあまりないと思います。
しかしメディアライブラリで画像をアップロードするとき、よく見ると次の画像のように「最大アップロードサイズ」で上限が表示されているはずです。
上の画像の例(さくらレンタルサーバーを使用)では最大アップロードサイズが2MB(メガバイト)なので2MBを超えるファイルはアップロードできないということになります。
画像だったら2MB超えるということは中々ないですけど音声や動画ファイルなら圧縮していても数十MB~数百MBになることもあるので厳しい制限ですよね。
ではこの上限はどこで定められているかというとWordPress側ではなく、サーバー側のPHP設定で定められています。
WordPressはPHPというプログラミング言語で作られていて、そのPHPプログラムの全体的な動作や環境を設定するためのファイルが「php.ini」です。そのファイルで設定できる項目にアップロード上限が含まれています。
php.iniのアップロード上限設定について
php.iniでアップロード上限を定めているのは「upload_max_filesize」という1ファイル当たりの最大アップロードサイズを定める設定項目です。
この項目を例えば次のように変更すれば上限を増やせます。
upload_max_filesize = 20M
サイズは単位付きで指定します。20Mの「M」はメガバイトを表していて、単位を「G」にすることで上限をギガバイトにすることも可能です。
ただしphp.iniであまりにも大きなサイズ、例えば次のように
upload_max_filesize = 10G
としてもアップロード上限は10GBにはなりません。
なぜならWebサーバーソフトとして使われるapacheの設定に「LimitRequestBody」という項目があってその上限( = 2GB)を超えたアップロードはできないようになっているからです。
つまりどんなに上限を大きくしたとしてもアップロードできる最大サイズは2GBで頭打ちということです。
またサーバーのメモリにも上限は依存しているのでもしメモリが1GBしかないサーバーなら上限は2GBどころか1GBになってしまいます。
php.iniで設定した上限が必ず設定されるわけではないことに注意が必要ですね。
アップロード上限を増やす方法
ではアップロード上限の変更のやり方が分かったところで具体的にその設定を変更する方法について紹介していきます。
上限を増やす方法は次の3つです。
- サーバーの管理画面から変更
- php.iniを直接編集
- .htaccessを直接編集
この3つについて順にやり方を説明します。
サーバー管理画面から変更
まず今使っているレンタルサーバーで「php.ini」が変更できる設定項目がないか確認してみましょう。
例えばさくらインターネットのレンタルサーバーの場合、コントロールパネルにログインすると左のメニューに「PHP設定の編集」という項目があります。
この項目を開くと次のようにphp.iniをコントロールパネル上から設定する画面が表示されます。
この画面のテキストエリアに先ほど説明した「upload_max_filesize」の設定を追加して「保存する」ボタンを押せば変更が反映されます。
もしサーバー側でこのような設定項目が用意されているならそちらを使った方が楽です。
php.iniを直接編集する方法
もしレンタルサーバー側に設定項目が見つからなかったなら自分でphp.iniを開いて設定項目を追加する必要があります。
php.iniはサーバーによって設置されている場所が違います。
なのでどこにあるかは各レンタルサーバーのQ&Aで「php.ini」で検索するか直接サポートに問い合わせしてみるのが良いと思います。
そしてphp.iniの場所が分かったらFTPソフトなどでファイルを開いて
upload_max_filesize = 20M
を追加して保存してアップロードしなおせば変更が反映されるはずです。
.htaccessを直接編集する方法
ーーサーバーのQ&Aを見てもサポートに聞いてもphp.iniの場所が分からない・・・
そういう場合はphp.iniの変更が許可されていない可能性があります。
それならphp.iniを編集する代わりに「.htaccess」というファイルで上限を設定しましょう。
その手順ですが、まずFTPソフトやサーバーのファイルマネージャーなどでルートフォルダ(一番上のフォルダ)にある「.htaccess」という名前のファイルを探してください。
ファイルが見つかったらエディタで開いて次の内容を最後に追加します。
#1ファイル当たりの最大アップロードサイズ
php_value upload_max_filesize 20M
内容を追加して保存してアップロードすればphp.iniで最大アップロードサイズを指定したのと同じ効果が得られます。
もしどうしてもphp.iniが見つからないという場合はこの方法を試してみてください。
もし全ての方法で上手くいかなかったら...
今まで紹介した次の3つの方法
- サーバーの管理画面から変更
- php.iniを直接編集
- .htaccessを直接編集
これらが全て上手くいかない場合は手の打ちようがありません。
レンタルサーバー側でできないと決まっていることはどうやっても変えることはできないので、サーバー移行なども考えた方がいいかもしれません。
特に無料レンタルサーバーは制限がかなり多いのでそれで苦労するくらいなら最初から有料のサーバーを契約した方が初期費用は掛かっても後々楽です。
どのサーバーが良いか分からないという場合は次のような2つのサービスが機能もサポートも充実していて信頼できるのでおススメです。
他にもレンタルサーバはありますが、コスパが良くて困った時に情報が得られやすいのがこの2つです。
さくらもwpXも両方お試し期間があるので今まで無料サーバーを使っていたなら試してみてください。無料と違って制限も全くないですし、性能も段違いです。
詳しくは次の記事でそれぞれのサーバーの特徴やメリットなどを紹介してあります。
特にWordPressで高速動作させたい場合はwpxレンタルサーバーの方がかなり高スペックなので本格的にブログ・サイト運営するのに向いているでしょう。
私は少なくとも無料レンタルサーバーを使うのだけは絶対やめるべき、だと思っています。
「無料レンタルサーバー」と聞くとなんでもただで使えると思う人もいるでしょう。ですが無料の代わりにPHPの設定すら変えられないレンタルサーバーもあるので安易にタダだからと飛びつかない方が賢明です。
まとめ
普通に文字と画像だけのブログを運営しているならアップロード上限に困るということはほとんどないです。
しかしメディアが中心のサイト(動画サイトなど)ではアップロード上限が2MBだととても足りないのでphp.iniの設定を変更する必要があるかもしれません。
ただしサーバーの設定やメモリの上限によっては必ずphp.iniで設定した上限になるとは限らないのでそこは注意が必要な所です。
以上ここではWordPressのアップロード上限を変更する方法についていくつか紹介しました。
フク郎
最新記事 by フク郎 (全て見る)
- トレンドブログが資産に?放置でアクセス急増の事例 - 3月 14, 2024