解决nginx和php使用ckfinder无法上传大文件的问题

2021-01-17 05:12

阅读:443

标签:basedir   代码   www   replace   form   pos   sources   buffer   --   

现象描述:

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

  

资源网站大全 https://55wd.com 我的007办公资源网站 https://www.wode007.com

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无法上传大文件的问题

标签:basedir   代码   www   replace   form   pos   sources   buffer   --   

原文地址:https://www.cnblogs.com/ypppt/p/13371153.html


评论


亲,登录后才可以留言!