Tech Blog

PHPのファイルアップロードサイズを変更する方法

2021-05-02

php.iniのファイルアップロードサイズを変更する場合は、 以下の3つの設定値を設定するとよいです。

  • post_max_size(POSTデータに許可される最大サイズ)
  • upload_max_filesize(アップロードされるファイルの最大サイズ)
  • memory_limit

大きなファイルをアップロード するには、post_max_sizeの値を upload_max_filesize より大きく設定する必要があります。

また、一般的にmemory_limitは、post_max_sizeよりも 大きくする必要があります。

php.iniの場所

Nginxを利用したWebサーバーを構築している場合は編集するphp.iniの設定ファイルに注意しておく必要があります。

cliで実行されるphp.iniとfpmで実行されるphp.iniの2種類あるためです。

コマンドでphp.iniの場所は、php --iniで確認できますが、こちらの場合 /etc/php/7.4/cli/php.iniというようにcliのパスが出力されます。

/etc/php/7.4/cli/php.iniの値を変えても、Webアプリから利用した場合にはこちらの設定値ではなく、 /etc/php/7.4/fpm/php.iniの設定値が利用されるため、注意しましょう。

php.iniの設定を変えたのになぜか設定が反映されないといったことで、私はハマりました。(汗)

ちなみにphpinfo()関数でwebからphp.iniの設定を確認した場合は、 Configuration File (php.ini) Path は/etc/php/7.4/fpm/php.iniの値を表示させます。

PHPの設定値を反映

Nginxの場合は、以下のコマンドでサービスを再起動しましょう。

sudo systemctl restart php7.4-fpm.service # サービス名は任意

apacheの場合

sudo systemctl restart httpd