マルチサイト化してたWordPressでメディアアプロードのサイズ制限に引っかかって少しハマったのでそのメモ。
結論としては「マルチサイトのアプロード上限はWordPressで変更できる」です。
マルチサイトではサーバーの変更は反映されない
WordPressのアップロードサイズを増やす基本はphp.iniでmemory_limit
とupload_max_filesize
とpost_max_size
の値を変更することです。この3つの値が
moeory_limit >= post_max_size>=upload_max_filesize
という関係になるように設定します。例えば次のような感じですね。
memory_limit = 30M
post_max_size = 25M
upload_max_filesize = 20M
php.iniが編集できないさサーバーの場合は.htaccessに記述する方法もあります。
今回変更したかったのはエックスサーバーの簡単インストールでセットアップしたWordPressで、インストール後マルチサイト化しました。最大アップロードサイズは1MBです。
エックスサーバーは管理画面から簡単にphp.iniを編集できるですが、いくら数字を変えてもメディアアップロードの最大サイズは1MBのまま変わりません。
その原因はWordPress本体にありました。
マルチサイトでのアップロード上限の変更方法
なんと、WordPressのマルチサイトではアップロードファイルサイズを管理できる機能が備わっています。シングルサイトではそんな設定ないので最初全く気付きませんでした。
まず、マルチサイト全体のダッシュボードから、「設定」→「サイトネットワークの設定」を選びます。
そうすると、「サイトネットワーク設定」の画面ができます。
この画面を下の方へスクロールすると、「アップロードファイルの最大サイズ」という項目が現れます。私はデフォルトで1500KBになってました。
設置値が1500KBなら1.5MBと表示されることを期待しますがそうなっていません。なぜなら1KB=1024byteだからです。これをもとに計算すると1500KB=1.46484375MBとなり小数点1桁で四捨五入すると1MBとなります。他の数字でも検証してみましたが、メディアアップロード画面に表示される数字はbyteで計算した値を整数になるように四捨五入して表示しているようです。
今回は50MBぐらい欲しかったので51000KBとしました。
実際には50700KBぐらいを設定すれば、表示は50MBになります。細かい数字が知りたい人(っているのかな?)は下記のサイトで計算できます。
いかがだったでしょうか?
WordPressのマルチサイトは情報が少なめなので知らないと結構ハマるのではないでしょうか?マルチサイトを運営する人は気をつけてください。
コメント
この記事へのコメントはありません。