WordPressのメディアアップロードサイズの最大値を変更する。

WordPressにアップロードするファイルのサイズを上げたいとき。逆にでかいのを上げてほしくなくて下げたいとき。何もしなければ16MBまでとかになっているはず・・・?

rootdir/wp-content/uploads/

あまりにもでかいサイズの場合や、今回以外はこんなにサイズが大きいのはあげないなーってときはフォルダに直接ftpでアップロードできるかと。

もし、頻繁に上げる場合には一括で簡単にphpの方のアップロード設定をいじる。

このやり方をするともし他のWordPressを一緒に入れてたり、他のphp使ってる何かがあればそっちの設定も変わってしまうので、個別の設定の方法を参考にしてください。

php.iniを書き換える。場所がわからない場合には

[root ~]# php -i | grep php.ini
Configuration File (php.ini) Path => /etc
Loaded Configuration File => /etc/php.ini

とかで読み込んでるものを参照してね。

; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
upload_max_filesize = 100M

こちらを上げたい容量まであげてあげる。わかりやすいですね。アップロードファイルサイズの最大値です。

こちらだと100Mにあげていますが、php-fpmやhttpdを再起動しても8Mに上がるだけのはず。

なのでもう一箇所php.iniの変更

; Maximum size of POST data that PHP will accept.
; Its value may be 0 to disable the limit. It is ignored if POST data reading
; is disabled through enable_post_data_reading.
; http://php.net/post-max-size
post_max_size = 100M

POSTで送れるサイズですね。こちらの制限がデフォルトだと8MBとかになっているはずなので、今度はこっち側の制約を受けていました。

この2つを変えればアップロードはOK。

ただ、php.iniのこちらのサイズを超えないように

; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
memory_limit = 128M

使えるメモリの量ですね。こちら超えちゃったりピッタリにするとアップロードサイズによってはphpでアップロード以外に使用しているメモリ領域を確保出来なくて死にます。多分。やったこと無いけど。

設定値を変更したので再起動。centos7の場合

systemctl reload php-fpm.service (nginxとかでphp-fpm使ってる場合)
systemctl reload httpd.service (apacheでモジュール版php使ってる場合)

6以下の場合にはservice httpd gracefulとか設定反映して完了。

場所によって個別で設定したい場合にはこの方法じゃなく個別設定をしてあげてね。