WordPressではサーバーにあまり負荷をかけないためやサイトの容量が大きくならないため、ひいてはサイトの表示速度を上げるためにアップロードできるファイルのサイズに制限を設けています。この制限を変更することで、添付ファイルのアップロードサイズを変更することができます。方法は大きく分けて2つです。どちらかを行えば基本的には設定変更が完了します。
いずれの方法も元々同じファイルが存在しないか、サーバーで独自の設定方法がないかなど確認した上で設定するようにしましょう。
いずれの方法も、該当のファイルが存在しない場合にはファイルを作ってから、設置する必要があります。
.htaccessに記述する
コピペ用コード
php_value memory_limit 60M ;スクリプトが確保できる最大メモリ(50Mは50メガバイトのこと)
php_value post_max_size 50M ;POSTデータに許可される最大サイズ(40Mは40メガバイトのこと)
php_value upload_max_filesize 30M ;アップロードできるファイルの最大サイズ(30Mは30メガバイトのこと)
- php_value memory_limit ⇒ スクリプトが確保できる最大メモリ(50Mは50メガバイトのこと)
- php_value post_max_size ⇒ POSTデータに許可される最大サイズ(40Mは40メガバイトのこと)
- php_value upload_max_filesize ⇒ アップロードできるファイルの最大サイズ(30Mは30メガバイトのこと)
設定するときの注意
容量の大きさに気を付ける
php_value memory_limit>php_value post_max_size>php_value memory_limit
という順序で容量を決める必要があります。
簡単にいうと、添付ファイルのサイズ(php_value upload_max_filesize)よりも記事のサイズ(php_value post_max_size)が大きく、記事のサイズよりもメモリのサイズ(php_value memory_limit)が大きいということですね。
添付ファイルが含まれる記事のほうが文字があったりして大きいわけですから当然ですし、記事を処理するメモリの容量は当然記事サイズよりも大きいということです。
.htaccessファイルの置場
基本的にはWordPressがインストールされているフォルダの中へアップロードします。環境によっては、もう一つ上位の場所へ転送する必要があります。まずはWordPressがインストールされているフォルダの中へアップロードしてみてください。確認は管理画面からメディアのアップロード画面を開いてみて「最大アップロードサイズ」が設定したものに書き変わっていれば成功です。
FTPを使わずに設定する方法
通常はFTPというファイル転送を使って.htaccessファイルをアップロード/ダウンロードするのですが、WordPressの管理画面から直接.htaccessを設定できるプラグインがあります。これを使うと.htaccessがあるかどうかも判断してくれるので、重複してアップロードしようとして大事なファイルを上書きしてしまったりするトラブルを避けることができます。
htaccessファイルを管理画面上から編集できるプラグイン「WP Htaccess Editor」
php.iniに記述する
コピペ用コード
memory_limit = 50M ;スクリプトが確保できる最大メモリ(50Mは50メガバイトのこと)
post_max_size = 40M ;POSTデータに許可される最大サイズ(40Mは40メガバイトのこと)
upload_max_filesize = 30M ;アップロードできるファイルの最大サイズ(30Mは30メガバイトのこと)
max_input_time = 60 ;スクリプトが入力をパースする最大時間(60は60秒のこと)
設定するときの注意
容量の大きさに気を付ける
memory_limit>post_max_size>upload_max_filesize
という順序で容量を決める必要があります。
簡単にいうと、添付ファイルのサイズ(upload_max_filesize)よりも記事のサイズ(post_max_size)が大きく、記事のサイズよりもメモリのサイズ(memory_limit)が大きいということですね。
添付ファイルが含まれる記事のほうが文字があったりして大きいわけですから当然ですし、記事を処理するメモリの容量は当然記事サイズよりも大きいということです。
タイムアウト時間を設定する
max_input_time は、タイムアウトしない程度に設定します。これはサーバーがハングアップしないようにする設定で、なるべく小さ目な数字を入れておくようにします。この時間よりもサーバーのタイムアウトのほうが早いと最悪の場合サーバーに高負荷をかけていると判断されて、特に無料のサーバーや低価格なサーバーなどではサイトを凍結されたりすることもあるので注意が必要です。
php.iniファイルの置場
基本的にはサーバーの最上位フォルダ(ルートフォルダ)へアップロードします。サーバーによってはここにアクセスできない場合がありますので、そのときは.htaccessでの設定を検討してみてください。確認は管理画面からメディアのアップロード画面を開いてみて「最大アップロードサイズ」が設定したものに書き変わっていれば成功です。
FTPを使わずに設定する方法
通常はFTP接続を使ってファイルを転送するのですが、WordPressのプラグインを使えば管理画面から操作することができます。
管理画面からサーバー内のファイル操作ができるプラグイン「File Manager」
※余談ですが、このプラグイン使うと普段ルートフォルダに入れないサーバーでもルートフォルダ内の操作ができることがあります。
特に大きなファイルはないけどできるだけ画像に使うファイルを小さくしたいという方は自動で画像を圧縮してくれるプラグインもあります
アップロードした画像のサイズ変更と圧縮を自動で行うWordPressプラグイン「Imsanity」