Home > Article > Backend Development > Several methods to modify PHP configuration files to upload large files (apache/nginx)_PHP tutorial
In php.ini, if we do not modify the parameters post_max_size and upload_max_filesize, we can only upload files of up to 2MB by default. If files are tens of MB or larger, they cannot be uploaded. Let me introduce how to modify the PHP configuration file. Several methods for uploading large files, I hope it will be helpful to everyone
windows+apache+php environment
The most common PHP upload file size limit in apache is defined through the php.ini configuration file. By modifying the values of the following three fields and re-enabling the server-side program (such as apache), the PHP upload file size limit can be successfully modified. Size limit:
upload_max_filesize = 8M
post_max_size = 10M
memory_limit = 20M
The specific configuration is as follows
Search in php.ini
The code is as follows | Copy code | ||||
|
代码如下 | 复制代码 |
max_execution_time = 0 |
The code is as follows | Copy code |
max_execution_time = 0 |
0 means no limit
The above modification is the script execution timeout in the php upload file
PHP's default post_max_size is 2M. If the POST data size is greater than post_max_size $_POST and $_FILES superglobals will be empty.
代码如下 | 复制代码 |
post_max_size = 150M |
The code is as follows | Copy code |
post_max_size = 150M |
代码如下 | 复制代码 |
upload_max_filesize = 100M |
Find upload_max_filesize, the default is 8M and changed to
The code is as follows | Copy code |
upload_max_filesize = 100M |
nginx+php upload file size configuration modification
In the past, I used PHP to upload files. I first modified the settings of php.ini. A few days ago, the server environment was changed (using nginx+php). Today, I suddenly found that slightly larger files could not be uploaded. After struggling for a long time, I finally found the client_max_body_size configuration of nginx. 413 error caused by option value. Now let me share how to deal with it.
Problem Description:
The upload_max_filesize in the php.ini configuration file is set to 50M
The value set by post_max_size is 100M
However, uploading files exceeding 10 megabytes will return an uploaderror 413 error.
centos5.7 32-bit nginx1.0.8 php5.2.17
Solution:代码如下 | 复制代码 |
post_max_size 100M |
The code is as follows | Copy code |
post_max_size 100M |
2. Then modify the nginx configuration file:
The default value of this configuration option is 1m, which can be increased to 8m to increase the file size limit. I directly changed it to 100 here. The specific situation can be set according to your own needs. (Reference: The client_max_body_size size should be consistent with or slightly larger than the maximum value in upload_max_filesize and post_max_size in php.ini, so that there will be no errors due to inconsistent submitted data sizes.)
代码如下 | 复制代码 |
client_max_body_size 100m; |