自宅サーバーのWordPressにMP4動画ファイルをアップロードしたかったのですが、最近サーバーOSをDebian 9 Stretchに変更して以降、最大アップロードサイズが2MBに戻っていたのを32MBに変更する必要がありました。サーバーのPHPの設定を変更します。
過去にApacheでの記事 を書きましたが、今回はNginx+PHP7.0-fpmでの内容です。前提として、こちらの記事の通りに設定したサーバーでの設定方法となります。
Debian 9 StretchでNginx+PHP7.0+MariaDBをインストール
このページの目次
php.iniを編集
編集するファイルは、/etc/php/7.0/fpm/php.ini です。このファイルを開くとかなりの行数がありますが、809行目のupload_max_filesize = 2M と、656行目のpost_max_size = 8M を変更します。
最大アップロードサイズを8MBを超える数値にしたい場合、例えば32MBにしたい場合は両方の数値を32MBに合わせます。2MBから8MB以下の数値にする場合は、、809行目のupload_max_filesize だけ変更します。
php.iniファイルの変更を保存したら、php7.0-fpmサービスをリロードして変更が反映されました。
service php7.0-fpm reload
HTTPエラー発生
WordPressの管理画面を開き、 メディア-新規追加を開くと最大アップロードサイズが32MBになっており、設定できたと思って4MBの動画のMP4ファイルをアップロードしようとしたらHTTPエラー。と出てアップロードできませんでした。
nginx.confの編集
ネットで調べると、Nginxの設定ファイルのclient_max_body_size の数値も変更するという情報がありました。当方の/etc/nginx/nginx.conf と/etc/nginx/conf.d/html.conf には該当項目が無かったのでclient_max_body_size 32M; を追記しました。
追加した場所は/etc/nginx/nginx.conf ファイルのhttp{ } の括弧内にclient_max_body_size 32M; の一行を追記しました。
その後、nginxサービスをリロードします。
service nginx reload
設定完了
以上で、MP4動画をメディアライブラリーに追加することが出来るようになりました。
大きいサイズのファイルをアップロードする頻度は少ないので、私はこのあと元の2MBの最大アップロードサイズに戻しました。普段、デジカメ画像をアップロードするときに、間違えて撮ったままの数メガサイズの元画像ファイルを指定してアップしてしまうのを予防するために、デフォルトの2MBのほうが都合が良かったりします。