大きなデータファイルをインポートする場合、標準の4MBでは足りないことがほとんどです。
nginxとphp-frmを入れている環境で最大値を増やすには次の箇所を確認します。(やれるところはすべてやる)
※ 最後の php-frmの設定以外効いていないのがミソ!
「504 Gateway Time-out」が出るときも同様です。
php.iniの場所確認
# php -i | grep php.ini
Configuration File (php.ini) Path => /etc
Loaded Configuration File => /etc/php.ini
php.iniの編集
# nano /etc/php.ini
post_max_size = 10M
upload_max_filesize = 10M
nginx.confの編集
# nano /etc/nginx/nginx.conf
client_max_body_size 10M;
fastcgi_read_timeout 180; #タイムアウトを延ばす
php-fpm設定の編集
# nano /etc/php-fpm.d/www.conf
request_terminate_timeout = 180 #タイムアウトを延ばす
php_admin_value[upload_max_filesize] = 10M
php_admin_value[post_max_size] = 10M
関係あるかどうかわかりませんが、AWS(EC2)のロードバランサーのタイムアウトも延長しておきました。
アイドルタイムアウト 180 秒
reloadで十分ですが、念のため再起動します。
# service nginx restart
# service php-fpm restart
ここまでやると、最大値が10MBになります。たぶん。
最後の /etc/php-fpm.d/www.conf を書き換えないで実行するとタイムアウト系のエラーが出ます。
設定がちぐはぐでタイムアウトしてる
504 Gateway Time-out
とか
upstream timed out (110: Connection timed out)
client_max_body_size が足りないときに出るエラー413 Request Entity Too Large