解决nginx和php使用ckfinder无法上传大文件的问题
现象描述:
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/cmsx.chinasoft.com.wx/httpdocs/public
直接通过关键字定位代码所在具体程序文件
[root@newcms:/data/www/cms/cmsx.chinasoft.com.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/cmsx.chinasoft.com.wx/httpdocs/public]# find ./ -name config.php
/data/www/cms/cmsx.chinasoft.com.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和php使用ckfinder无法上传大文件的问题的更多相关文章
- [转]通过设置nginx的client_max_body_size解决nginx+php上传大文件的问题
转:http://blog.csdn.net/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的错误信息.该错误信息的翻译:超过最大请求长度. 解决方法: ...
- Nginx反向代理上传大文件报错(failed to load resource : net :: ERR_CONNECTION_RESET)
转自: https://blog.csdn.net/kinginblue/article/details/50753271?locationNum=14&fps=1 Nginx反向代理上传大文 ...
- 【转】Windows2008上传大文件的解决方法(iis7解决上传大容量文件)
2008上传大文件的解决方法:http://wenku.it168.com/d_000091739.shtml 2003上传大文件的解决方法:http://tech.v01.cn/windowsxit ...
- php无法上传大文件完美解决方案
php.ini无法上传大文件完美解决办法 1.打开php.ini(打开方式就不用说了,百度一大堆) 2.查找post_max_size 表单提交最大数值,此项不是限制上传单个文件的大小,而是针对整个表 ...
- tp5+layui 实现上传大文件
前言: 之前所写的文件上传类通常进行考虑的是文件的类型.大小是否符合要求条件.当上传大文件时就要考虑到php的配置和服务器的配置问题.之前简单的觉得只要将php.ini中的表单上传的 大小,单脚本执行 ...
- tornado上传大文件以及多文件上传
tornado上传大文件问题解决方法 tornado默认上传限制为低于100M,但是由于需要上传大文件需求,网上很多说是用nginx,但我懒,同时不想在搞一个服务了. 解决方法: server = H ...
随机推荐
- React-关于react的思考
声明式开发 减少dom操作,减少代码量 可以与其他框架并存 组件化开发 单向数据流 视图层框架 大型项目需要与其他数据层框架一起使用 函数式编程 方便自动化测试
- Kubernetes — 作业副本与水平扩展
Deployment 看似简单,但实际上,它实现了 Kubernetes 项目中一个非常重要的功能:Pod 的“水平扩展 / 收缩”(horizontal scaling out/in). 这个功能, ...
- Airflow Python工作流引擎的重要概念介绍
Airflow Python工作流引擎的重要概念介绍 - watermelonbig的专栏 - CSDN博客https://blog.csdn.net/watermelonbig/article/de ...
- Vue项目搭建与部署
Vue项目搭建与部署 一,介绍与需求 1.1,介绍 Vue 是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用.Vue两大核心思想:组件化和数据驱动.组 ...
- centos7之NFS使用
NFS是Network File System的缩写,即网络文件系统.客户端通过挂载的方式将NFS服务器端共享的数据目录挂载到本地目录下. 一.nfs为什么需要RPC? 因为NFS支持的功能很多,不同 ...
- SpringCloud学习笔记:声明式调用Feign(4)
1. Feign简介 Feign采用声明式API接口的风格,将Java HTTP客户端绑定到它的内部. Feign的首要目标是简化Java HTTP客户端调用过程. 2.Feign客户端示例 Feig ...
- CSS代码检查工具stylelint
前面的话 CSS不能算是严格意义的编程语言,但是在前端体系中却不能小觑. CSS 是以描述为主的样式表,如果描述得混乱.没有规则,对于其他开发者一定是一个定时炸弹,特别是有强迫症的人群.CSS 看似简 ...
- JMeter 的调式工具
任何的编程工具都会相应的调式工具,JMeter的调式 工具主要有五种: 1.查看结果树:含请求信息.响应信息等 2.HTTP 镜像服务器:HTTP Mirror Server用于查看请求信息 3.De ...
- 【asp.net】asp.net遍历Request的信息
#需求: 在服务端获取从客户端发送过来的所有数据信息: #方案: 1.服务端代码 public void ProcessRequest(HttpContext context) { //打印所有参数信 ...
- 金融量化分析【day112】:双均线策略
一.双均线策略 1.什么是双均线策略? 2.实现代码 def initialize(context): set_benchmark('601318.XSHG') set_option('use_rea ...