修改运行环境让程序允许上传更大的文件

创建于 2024-07-05 / 最近更新于 2024-07-05 / 385
字体: [默认] [大] [更大]

PESCMS系列软件一般都带有上传功能,如果您需要上传更大文件,需要修改PHP、nginx或apache的配置文件实现,下面给出一个简单的修改指引,实现上传更大的文件。

我们推荐大家将大文件上传到网盘,把下载地址粘贴到软件的表单。

PHP配置

找到您PHP所在目录,并找到php.ini文件,用编辑器打开。然后依次找到如下参数,并修改为您比你上传文件更大的数值:

; 允许上传的最大文件大小 
upload_max_filesize = 1G 

; POST请求允许的最大大小 
post_max_size = 1G

 ; 脚本执行的最大时间(秒) 
max_execution_time = 300 

; 最大输入时间(秒) 
max_input_time = 300 

; 内存限制 
memory_limit = 2G

脚本执行时间请根据自身服务器带宽来设置,大文件上传可能需要更大的处理时间。

Nginx配置

nginx一般都是 nginx.conf ,或者其他 *.conf 的文件。下面的代码,您可以放在 http{ } 或者 server {} 块中。

http块示例

http {
    ...
    client_max_body_size 1G;   # 允许上传文件的最大大小
    client_body_timeout 300s;  # 设置客户端请求体的超时时间
    proxy_read_timeout 300s;   # 设置从上游服务器读取响应的超时时间
    proxy_send_timeout 300s;   # 设置向上游服务器发送请求的超时时间
    send_timeout 300s;         # 设置向客户端发送响应的超时时间
    ...
}

server块示例

server {
    listen 80;
    server_name yourdomain.com;

    client_max_body_size 1G;
    client_body_timeout 300s;
    proxy_read_timeout 300s;
    proxy_send_timeout 300s;
    send_timeout 300s;
    ...
}

Apache配置

apache的配置文件一般以 http.conf形式。下面给出一个示例代码:

<VirtualHost *:80>
    ServerName yourdomain.com
    DocumentRoot /var/www/html

    <Directory /var/www/html>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    Timeout 300
    ProxyTimeout 300
    KeepAliveTimeout 300
    MaxKeepAliveRequests 100
    LimitRequestBody 1073741824  # 1GB

    <IfModule mod_php7.c>
        php_value upload_max_filesize 1G
        php_value post_max_size 1G
        php_value max_execution_time 300
        php_value max_input_time 300
        php_value memory_limit 2G
    </IfModule>
</VirtualHost>

上面所有操作完毕后,您需要重启nginx或者apache,PHP才会生效的,建议交由有服务器管理经验的人员操作。

本文教程可能随着软件版本不同,存在一定偏差,具体请以软件实际运行情况调整参数。

0 人点赞过