WordPressのメディアアップロードサイズを1GBにする

ずっとこんなに巨大にする必要はないけれど、一時的にメディアのアップロードサイズを1GBにしたくなった。Ubuntu18.04、Apacheな環境。





OSSを色々なOSバージョンで試している。VMware Workstation 12 PlayerでゲストOSを立てて、何度も何度もOSSをダウンロードしている。

そろそろ6回目のダウンロード、いい加減迷惑だなと考え、Wordpressにメディアを挙げておいてダウンロードできるようにしようと考えた(リンクは貼り付けない限り公開されないだろうし、個人利用であって再配布にはあたらないだろう…と、もちろん作業が終わったら消すし)。

WordPressでメディアのアップロードサイズを変えようと思ったとき、毎度毎度Google先生に聞きに行くけれど、幾つか設定すべき要素があるようでイマイチ思い通りにならないので、自分用のメモを作ることにした。

やること。

 

WordPressの設定

WordPressはPHPで書かれていて、どうやらデフォルトのサイズは2MBになっている模様。思い通りのアップロードサイズにするには2箇所の設定が必要。

.htaccessの設定

PHPのパラメータを .htaccess で与えられる模様。

/var/www/html/.htaccess
# END WordPress

php_value memory_limit -1
php_value post_max_size 1G
php_value upload_max_filesize 1G

※ディレクトリは配置場所によって変わる。

この設定で上限は 2MB → 128MB になった。

 

設定中「post_max_size」のスペルを間違ったところ、上限は8MBになった。
post_max_sizeのデフォルト値が8MBになっていて、そのためにupload_max_filesizeの1GB設定は8MBに制限されてしまったものと思われる。

 

設定画面からの設定

設定画面もある。マルチサイトになっている場合は、
 サイトネットワーク管理 → サイトネットワーク設定
に進み、「アップロードファイルの最大サイズ」で設定する。

131072KB(128MB)になっているので、1048576KB(1GB)に変更する。

この設定で上限は 128MB → 1GB になった。

 

アップロードできるファイルの種類を追加

マルチサイトになっている状況で
 サイトネットワーク管理 → サイトネットワーク設定
に進み、「アップロード可能なファイル形式」で設定をしようとしたけれども、反映されない。

どうも、関数を作って種類を増やす必要があるらしい。
KARHU LIFE / ZIP圧縮ファイルをアップロードできない?(WordPress)
Bionic Teaching / Add New Mime Type to WordPress Multisite

functions.phpに関数を追加するやり方が普通?なのかなと思われる。
ウチでは子テーマを作っているので、子テーマの中にあるfunctions.phpに以下の関数を追加した。関数名等はそのまま利用させていただいている。

/var/www/html/wp-content/themes/*テーマ名*/functions.php
//allow some additional file types for upload
function my_new_custom_mime_types( $mimes ) {

    // New allowed mime types.
  $mimes['bundle'] = 'application/Bundler';
  $mimes['zip'] = 'application/zip';

    // Optional. Remove a mime type.
  //unset( $mimes['exe'] );

    return $mimes;
}
add_filter( 'upload_mimes', 'my_new_custom_mime_types' );

 

アップロードできるようになった。

 

さいごに

アップロードできるファイルの種類が制限されている理由を探してみたけれども、当たり前すぎるのか見つからなかった。解決方法はたくさん提示されており、この記事を書いた後にプラグインがあることも分かった。

設定を元に戻そうとしたとき、ファイルをごちゃごちゃ変えるよりもプラグインで操作した方が簡単だし、Wordpressがバージョンアップしたときにも追従してくれるだろうから色々安心。唯一心配があるとすれば開発が止まっちゃうことくらいか。

今回は用事が足りたので、プラグインには触れずこのままにしておく。この選択が将来どうなっていくのかは分からないけれど…

お気軽にどうぞ ~ 投稿に関するご意見・感想・他

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