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

标签: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   --

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CKFinder是一个用于文件管理的Web应用程序,它可以方便地集成到Linux系统中。下面是安装CKFinder的步骤: 1. 首先,确保你的Linux系统已经安装了Apache或Nginx等Web服务器,并且PHP版本为5.6或更高。 2. 下载CKFinder的安装包。你可以从CKFinder的官方网站(https://ckeditor.com/ckfinder/)上下载最新版本的安装包。 3. 解压安装包。使用以下命令解压下载的安装包: ``` tar -zxvf ckfinder_3.x.x.tar.gz ``` 4. 将解压后的CKFinder文件夹复制到你的Web服务器的根目录下。例如,如果你使用的是Apache服务器,将CKFinder文件夹复制到`/var/www/html/`目录下。 5. 配置CKFinder。进入CKFinder文件夹,将`config.php.sample`文件重命名为`config.php`: ``` cd ckfinder mv config.php.sample config.php ``` 6. 打开`config.php`文件,并根据你的需求进行配置。你需要设置一些基本的参数,如文件上传路径、访问控制等。 7. 配置Web服务器。如果你使用的是Apache服务器,需要在Apache的配置文件中添加以下内容: ``` Alias /ckfinder "/var/www/html/ckfinder" <Directory "/var/www/html/ckfinder"> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> ``` 8. 重启Web服务器,使配置生效。 9. 访问CKFinder。在浏览器中输入CKFinder的URL,例如`http://localhost/ckfinder/`,即可访问CKFinder的文件管理界面。 希望以上步骤对你有帮助!如果你还有其他问题,请继续提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值