在使用PbootCMS时,上传文件大小的限制是由php.ini决定的。为了实现大文件的上传,我们需要对php.ini进行修改。
一、打开 php.ini 文件
找到PHP目录下的php.ini文件,进行以下参数设置:
1. file_uploads = on ;
允许通过HTTP上传文件的开关,默认为ON即开启。
2. upload_tmp_dir ;
指定文件上传至服务器上存储临时文件的地方。如果未指定,系统会使用默认的临时文件夹。
3. upload_max_filesize = 8m ;
允许上传文件大小的最大值,默认为2M。
4. post_max_size = 8m ;
表单POST给PHP所能接收的最大值,包括表单里的所有值,默认为8M。
设置好上述四个参数后,在网络正常的情况下,上传<=8M的文件是不成问题的。但如果要上传>8M的大体积文件,还需要进一步配置其他参数。
二、进一步配置以下参数
1. max_execution_time = 600 ;
每个PHP页面运行的最大时间值(秒),默认30秒。
2. max_input_time = 600 ;
每个PHP页面接收数据所需的最大时间,默认60秒。
3. memory_limit = 8m ;
每个PHP页面所吃掉的最大内存,默认8M。
max_execution_time = 600
max_input_time = 600
memory_limit = 32m
file_uploads = on
upload_tmp_dir = /tmp
upload_max_filesize = 32m
post_max_size = 32m
修改以上参数后,在网络允许的正常情况下,就可以上传大体积文件了。
三、重启 php 服务,使配置生效
service php-fpm restart
systemctl restart php-fpm
四、修改编辑器上传大小设置
文件路径/core/extend/ueditor/php/config.json
将包含MaxSize后面的字段大小调大,如imageMaxSize、scrawlMaxSize等,都调整一下大小。
注意:
IIS上也会有限制。在IIS中,可以通过网站-》选要改的网站-》请求筛选-》进入-》右键-》编辑功能设置请求筛选设置,将允许最大内容长度从30000000改成100000000 或者更大(30M改成100M或者更大)。
如果你的主机是 nginx 操作系统的话,记得在nginx 的配置文件里面加上 client_max_body_size 20m; 这样一句,表示最大允许上传20MB,具体根据自己的情况来。我的nginx 配置文件的位置在 /usr/local/nginx/conf/nginx.conf。