项目场景:开发文档版本编辑器版本冲突问题

开发需求:开发文档编辑和版本控制器

使用PHP开发一个文档版本控制器,可以编辑文档,记录每次历史版本,可以浏览历史记录中的每个版本,以及导出为PDF,Word文件。

开发相关技术:

PHP5.6.9nts版本,Apache2.4.39版本,MySQL5.7.26版本,CKfinder3,CKEditor5


问题描述:因为PHP版本过低导致报错版本冲突问题

编辑器部分使用CKEditor5,而上传图片功能使用CKfinder3,但是因为PHP版本过低,是5.6.9nts版本的,所以报错版本冲突问题,如下图:

Fatal error:Composer detected issues in your platform: Your Composer dependencies require a PHP version ">= 7.3.0". You are running 5.4.45. in


原因分析:PHP版本过低,以及CKfinder3中配置文件中强制规定PHP版本

PHP版本过低,很多语法不支持,而CKfinder3是最新的,所以在CKfinder3中配置文件中强制规定PHP版本。如下图代码,70300表示7.3版本,获取当前PHP版本并判断是否大于7.3,小于7.3直接报错。

文件位置:ckfinder\core\connector\php\vendor\composer\platform_check.php文件


解决方案:调整 CKfinder版本

下面是解决思路和步骤,错误的思路也一同记录下来参考。

错误思路:

如上图所示,既然判断版本问题,那把7.3改为当前版本是否可行。

if (!(PHP_VERSION_ID >= 50609)) {$issues[] = 'Your Composer dependencies require a PHP version ">= 7.3.0". You are running ' . PHP_VERSION . '.';
}

结果: Parse error: syntax error, unexpected ':', expecting '{' in

即使通过版本判断,语法也不对,所以这种方法PASS。

保错文件位置:ckfinder\core\connector\php\vendor\symfony\polyfill-php80\bootstrap.php

正确解决思路:

办法:调整 CKfinder版本。

在CKfinder官网中,最下方可以选择任意版本下载。

下载地址:
CKFinder - Download Latest Versionhttps://ckeditor.com/ckfinder/download/?null-addons=

插一句,因为之前用的是5.5.45nts版本,所以还报了下方的错。所以下载时需要根据自己的PHP版本来,不知道需要什么版本的就先下一个,然后根据报错选择重新下载相应版本或是调整PHP版本。

翻译:PHP安装不符合CKFinder的最低系统要求。你的PHP版本太旧了。CKFinder 3.x需要PHP5.6+。有关更多详细信息,请参阅CKFinder文档。

下载放入项目相应位置后,运行代码,Network中报错:

{"error":{"number":500,"message":"The file browser is disabled for security reasons. Please contact your           system administrator and check the CKFinder configuration file."}
}

原因:默认情况下,CKFinder服务器连接器处于禁用状态。

帮助文档中提示:

By default, the CKFinder server connector is disabled. If you open the default CKFinder sample (located in /ckfinder/samples/full-page-open.html) you will see the following error message:

The file browser is disabled for security reasons. Please contact your system administrator and check the CKFinder configuration file.

In order to enable it, you should set the authentication function in config.php so that it returned true for users that should have access to CKFinder.

这段话的意思是:

在默认情况下,CKFinder服务器连接器处于禁用状态。如果打开默认的CKFinder示例(位于/CKFinder/samples/full page open.html中),您将看到以下错误消息:出于安全原因,已禁用文件浏览器。请联系您的系统管理员并检查CKFinder配置文件。为了启用它,您应该在config.php中设置身份验证函数,以便对应该有权访问CKFinder的用户返回true。

翻译:出于安全原因,已禁用文件浏览器。请联系您的系统管理员并检查CKFinder配置文件。

解决方法:在配置文件中允许文件上传,即开启上传权限。

文件位置:ckfinder\config.php

 $config['authentication'] = function () {return true;};

最后,终于搞定了。

CKfinder3版本冲突相关推荐

  1. 我爱Java系列---【 maven依赖版本冲突的解决方法】

    我爱Java系列---[ maven依赖版本冲突的解决方法] 参考文章: (1)我爱Java系列---[ maven依赖版本冲突的解决方法] (2)https://www.cnblogs.com/hu ...

  2. 使用NPOI时ICSharpCode.SharpZipLib版本冲突问题解决

    使用NPOI时ICSharpCode.SharpZipLib版本冲突问题解决 参考文章: (1)使用NPOI时ICSharpCode.SharpZipLib版本冲突问题解决 (2)https://ww ...

  3. github上的版本和本地版本冲突的解决方法(Updates were rejected because the tip of your current branch is behind)

    github上的版本和本地版本冲突的解决方法(Updates were rejected because the tip of your current branch is behind) 参考文章: ...

  4. 解决 .net core 中 nuget 包版本冲突问题

    解决 .net core 中 nuget 包版本冲突问题 参考文章: (1)解决 .net core 中 nuget 包版本冲突问题 (2)https://www.cnblogs.com/dudu/p ...

  5. 【转】Windows7 下安装 JDK 7 时版本冲突问题解决

    原文网址:http://wxl24life.iteye.com/blog/1966058 自己电脑上一直用的 JDK 版本是 1.6,今天决定更新到 1.7,在安装 JDK 1.7 后,控制台输入 j ...

  6. Linux下搭建SVN+版本冲突

    环境:CentOs 6.5(最小化安装) 参考资料:http://www.iusesvn.com/subversion/tortoisesvn_doc/ [root@localhost ~]# yum ...

  7. 【SmartJob】【隔离装置】WEB/统计程序和隔离程序共享服务器时的JAVA版本冲突问题

    SmartJob.DmsWeb与SmartSys共享服务器容易引发Java版本冲突问题: Java版本不正确 UnsupportedClassVersionError Exception in thr ...

  8. 解决jquery版本冲突问题

    解决jQuery1.3.2和1.4.2的冲突.(测试通过) 第一步:在1.4.2的源代码的最后加上一句 var $j4 = jQuery.noConflict(true);//之所以在源码这里加,而不 ...

  9. java——maven依赖版本冲突

    博客:maven依赖jar包时版本冲突的解决 转载于:https://www.cnblogs.com/Tpf386/p/11180007.html

  10. 安装mysql冲突_Linux下安装mysql版本冲突问题解决

    由于在使用的linux服务器上已经安装了一个较低版本的mysql server,使用rpm包进行安装时,提示版本冲突,安装不能继续进行. 由于旧的数据不想要了,解决办法是这样的: 1. 先把系统里安装 ...

最新文章

  1. Windows 8.1安装.net 3.5功能
  2. rs232串口驱动_电机驱动器-copley
  3. Kubernetes and Cloud Native Meetup (广州站)资料下载
  4. python各个解释器的用途-常用的五种Python解释器|老男孩网络Python学习课程
  5. Java 中关于this、static、final 关键字的使用
  6. 玩转Spring Boot 集成Dubbo
  7. Q# 微软量子计算编程语言
  8. php博饼,妙趣横生庆中秋:厦门博饼
  9. Alien Skin Exposure新版X8功能介绍
  10. goldendict无法导入字典
  11. 小鸟云服务器如何进行远程桌面连接?
  12. 简要介绍SIGMOD2021接收的区块链相关论文
  13. VMware(6):如何配置虚拟机与宿主机的端口映射
  14. azkaban 安装
  15. Unity技能系统框架(三)分析一个具体被动技能
  16. 深入学习三个月向大厂发起冲击
  17. python 桑基图_流量结构分布图——桑基图(Sankey)
  18. 洛谷 P3964 松鼠聚会
  19. 安卓来电归属地_原生 Android 也能远离骚扰电话:开源应用来电信息
  20. iOS 文件预览(PDF、Excel、World等)之QuickLook框架

热门文章

  1. CDH大数据平台搭建之HADOOP分布式集群搭建
  2. python中pow_Python中float的内置pow()和math.pow()之间的区别?
  3. 【Golang】JSON Marshal Unmarshal
  4. python +高德地图API调用
  5. 计算机怎么听音乐,电脑怎样听啪啪音乐圈?啪啪音乐圈电脑版怎么用?
  6. SAE 联合乘云至达与谱尼测试携手共同抗疫
  7. 火狐浏览器设置深色主题
  8. VM技术(一)NES模拟器VM综述
  9. checkbox全选、清除、反选
  10. 移动apn接入点哪个快_4g网速最快的apn接入点 如图所示