Upload max size in PHP?
Is it possible for the upload of ~100 MB files using PHP?
If so, what changes need to occur in the configuration file (php.ini
)?
Sri
The following options are relevant:
- PHP: upload_max_filesize (in php.ini or .htaccess only, won't work using
ini_set()
) - PHP: post_max_size (ditto)
- PHP: max_input_time (ditto, thanks @Thorstein, forgot this one)
and possibly
- Apache: LimitRequestBody
In your php.ini
adjust the value of:
file_uploads = On
upload_max_filesize = 100M //needs to be in {x}M format
And allow larger post size:
post_max_size = 100M
To allow for larger uploads with PHP you must change a few settings in the php.ini file (upload_max_filesize, max_input_time, memory_limit, max_execution_time, post_max_size). You can find your php.ini file under you PHP installation directory, and more information about the required settings here.
This dumfounded me for a while so just wanted to add:
If your project also use nginx (e.g. a buildpack), you may have to add client_max_body_size 100M;
to your nginx.conf
file since nginx defaults to only 1M
(1 MB) - in addition to the PHP settings mentioned above.
Regarding PHP settings, I create a .user.ini
file at root level of my projects to change the few settings I want to override from the default php.ini
file.
In my setup (using dokku) it was located at /etc/nginx/nginx.conf
, then added the extra line via nano nginx.conf
. I don't directly use nginx, but my buildpack adds it.
Hope this helps someone :)