现象描述:
cms内容发布系统上传不了大文件,当上传超过32M文件时就上传不了
提示:无效的文件. 文件尺寸太大。
分析文件上传过程:
browser --> nginx --> php
需要修改 nginx.conf和php.ini
1.nginx.conf新增如下参数,重启无效:
client_max_body_size 512M;
client_body_buffer_size 128M;
2.修改php.ini配置,重启php-fpm无效:
/usr/local/php-7.0.12_fpm/lib/php.ini
post_max_size = 512M
upload_max_filesize = 256M
3.找到上传文件代码所在的目录 /data/www/cms/.wx/httpdocs/public
直接通过关键字定位代码所在具体程序文件
[root@newcms:/data/www/cms/.wx/httpdocs/public]# grep -ri "无效的文件. 文件尺寸太大"
resources/js/libs/ckfinder/core/connector/php/lang/zh-cn.php:'203' => '无效的文件. 文件尺寸太大。',
resources/js/libs/ckfinder/lang/zh-cn.js:203 : '无效的文件. 文件尺寸太大。',
发现使用了 ckfinder 这个富文本插件
经过搜索发现限制在配置文件config.php,修改最大文件问题解决:
[root@newcms:/data/www/cms/.wx/httpdocs/public]# find ./ -name config.php
/data/www/cms/.wx/httpdocs/public/resources/js/libs/ckfinder/config.php
$config['DefaultResourceTypes'] = '';
$dir_name_1 = preg_replace('/.+\/([^\/]*[a-z]+\.[a-z]+)\/.+/', '$1', $baseDir);
$config['ResourceType'][] = Array(
'name' => $dir_name_1, // Single quotes not allowed
'url' => $baseUrl,
'directory' => $baseDir,
'maxSize' => "300M",# 修改此处
'allowedExtensions' => isset( $_GET['show_format'] ) ? $_GET['show_format'] : '',
'deniedExtensions' => '');
$config['AccessControl'][] = Array(
'role' => '*',
'resourceType' => $dir_name_1,
'folder' => '/',
'folderView' => true,
'folderCreate' => true,
'folderRename' => false,
'folderDelete' => true,
'fileView' => true,
'fileUpload' => true,
'fileRename' => true,
'fileDelete' => true);
$dir_name_2 = 'All files list';
$config['ResourceType'][] = Array(
'name' => $dir_name_2,
'url' => '',
'directory' => '',
'maxSize' => "300M", # 修改此处
'allowedExtensions' => isset( $_GET['show_format'] ) ? $_GET['show_format'] : '',
'deniedExtensions' => '');
[转]通过设置nginx的client_max_body_size解决nginx+php上传大文件的问题
转:/zhengwish/article/details/51602059 通过设置nginx的client_max_body_size解决nginx+php上 ...
通过设置nginx的client_max_body_size解决nginx+php上传大文件的问题
通过设置nginx的client_max_body_size解决nginx+php上传大文件的问题:用nginx来做webserver的时,上传大文件时需要特别注意client_max_body_si ...
配置nginx php上传大文件
配置nginx php上传大文件: 1. 修改PHP配置文件中的三项:vim /usr/local/php/etc/php.ini 1.file_uploads设为On,允许通过HTTP上传文件 2 ...
.NET上传大文件时提示Maximum request length exceeded错误的解决方法
使用IIS托管应用程序时,当我们需要上传大文件(4MB以上)时,应用程序会提示Maximum request length exceeded的错误信息.该错误信息的翻译:超过最大请求长度. 解决方法: ...
【转】Windows上传大文件的解决方法(iis7解决上传大容量文件)
上传大文件的解决方法:/d_000091739.shtml 上传大文件的解决方法:/windowsxit ...
php无法上传大文件完美解决方案
php.ini无法上传大文件完美解决办法 1.打开php.ini(打开方式就不用说了,百度一大堆) 2.查找post_max_size 表单提交最大数值,此项不是限制上传单个文件的大小,而是针对整个表 ...
tp5+layui 实现上传大文件
前言: 之前所写的文件上传类通常进行考虑的是文件的类型.大小是否符合要求条件.当上传大文件时就要考虑到php的配置和服务器的配置问题.之前简单的觉得只要将php.ini中的表单上传的 大小,单脚本执行 ...
tornado上传大文件以及多文件上传
tornado上传大文件问题解决方法 tornado默认上传限制为低于100M,但是由于需要上传大文件需求,网上很多说是用nginx,但我懒,同时不想在搞一个服务了. 解决方法: server = H ...
随机推荐
关于31天App教程示例中一些因SDK版本而出现的问题(转)
由于国外那个知名的31天案例教程比较老,所用官方API是时的2.X,所以在现在的Xcode3-4之后或多或少都有编译警告和错误信息.必须做些适应iOS版本的代码更改才能顺利编译通过. Day ...
python构建模拟模型——网站独立访问用户数量
背景:发现一个有趣的现象,即一些用户在每一月都仅仅访问网站一次,我们想要了解这些人数量的变化趋势. 建立数学模型:简化问题,根据瓮模型推导出公式(具体推导见,有时间再补充... ...
Android Activity生命周期概述
1. 官网介绍 2. Activity A 跳转 Acitvity B A:onPause --> B: onCreate --> B:onStart --> B: onResu ...
HTTP中的Range: bytes=0-
HTTP中的Range就是分段请求字节数,也是大家经常说的断点续传.Range头域可以请求实体的一个或者多个子范围,Range的值为0表示第一个字节,也就是Range计算字节数是从0开始的 表示第二个 ...
Jmeter(二十)_Mock接口
首先解释一下什么是mock接口. Mock通常是指,在测试一个对象时,我们构造一些假的对象来模拟与其交互.而这些Mock对象的行为是我们事先设定且符合预期.通过这些Mock对象来测试对象在正常逻辑,异 ...
debug和release版本的区别
Debug:调试版本,包含调试信息,所以容量比Release大很多,并且不进行任何优化(优化会使调试复杂化,因为源代码和生成的指令间关系会更复杂),便于程序员调试. Debug模式下生成两个文件,除了 ...
squid调整
Squid采用新方案部署的调整步骤一,隔离二,修改三,验证四,波及==============================[1] 把被引用到的待修改对像实例,从前端应用负载nginx的配置中摘出 ...
NOIP 模拟赛(二十二)雅礼NOI
Preface 这次的题目都是NOI+的题,所以大家的分数都有点惨烈. 依靠T1大力骗分水到Rank2 所以想看正解的话看这里吧 A. 「雅礼NOI模拟赛(一) Day1」树 看一眼题目感觉十 ...
Luogo P2324 [SCOI]骑士精神
所有想练习A*的人都先来敲一下这道题吧. 数据范围即便只有5*5,但朴素的爆搜还是会超时. 因此考虑剪枝. 对于这道题,肯定只要进行最优化剪枝,判断现在走的步数+剩下最少要走的步数,如果大于ans或者 ...
10.翻译:EF基础系列---EF中的持久性
原文链接:/EntityFramework4.3/persistence-in-entity-framework.aspx ...