Home  >  Article  >  Backend Development  >  Several methods to modify PHP configuration files to upload large files (apache/nginx)_PHP tutorial

Several methods to modify PHP configuration files to upload large files (apache/nginx)_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:48:201092browse

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

max_execution_time

Default is 30 seconds. Change to
 代码如下 复制代码

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

2. Modify post_max_size to set the maximum size allowed for POST data. This setting also affects PHP upload files.

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

Look for post_max_size . Change to

The code is as follows Copy code

post_max_size = 150M
3. Many people will change the second step. But when uploading files in PHP, the maximum size is still 8M.
 代码如下 复制代码

upload_max_filesize = 100M

Why? We also need to change a parameter upload_max_filesize to indicate the maximum size of the uploaded file.

Find upload_max_filesize, the default is 8M and changed to

The code is as follows Copy code

upload_max_filesize = 100M

Another thing to note is that when uploading PHP files, it is better for post_max_size to be larger than upload_max_filesize.


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.

Server environment:

centos5.7 32-bit nginx1.0.8 php5.2.17

Solution:
 代码如下 复制代码

post_max_size  100M

1. If your upload file limit is 50MB, first modify php.iniupload_max_filesize 50M
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;

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/632790.htmlTechArticleIn php.ini, if we do not modify the post_max_size, upload_max_filesize parameters, only 2MB files can be uploaded by default. Yes, if it is tens of MB or larger, it cannot be uploaded. Next...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn