環境
CentOS: 7.4
PHP: 7.2
Nginx: 1.14
設定変更の手順
php.ini を編集
.htaccess で設定する方法もありますが、今回は php.ini
を編集します。
私の環境では /etc/php.ini
にありました。
# vi /etc/php.ini
/etc/php.ini
; メモリ使用量の上限
memory_limit = 256M
; 1度の POST でアップロードできる最大容量
post_max_size = 128M
; 1ファイルの最大容量
upload_max_filesize = 100M
; 設定値は下記のようにする
; upload_max_filesize <= post_max_size <= memory_limit
この設定の場合、1ファイル 100MB までアップロード可能になります。
nginx.conf を編集
PHP だけでなく Nginx の設定も変更する必要があります。
nginx.conf に client_max_body_size
の設定を追記します。
/etc/nginx/nginx.conf
sever {
listen 80;
server_name localhost;
#アップロード制限
client_max_body_size 100M;
...
}
設定を反映させる
Nginx と PHP-FPM を再起動させて設定を反映させます。
下記2つのコマンドを叩きます。
(以前、PHP-FPM の再起動を忘れていてハマりました。。)
# systemctl restart nginx
# systemctl restart php-fpm
設定が反映されているか確認する
Nginx で設定したルートディレクトリに index.php を置き、サーバーにアクセスすることで設定が反映されているか確認します。
index.php
<?php phpinfo() ?>
うまく設定できていれば upload_max_filesize、post_max_size、memory_limit が設定した値になっているはずです。