鉴于大家对网络知识十分关注,我们编辑小组在此为大家搜集整理了“解决Phpcms v9编辑器无法上传图片和附件BUG”一文,供大家参考学习
我为了避免黑客猜出我的管理地址,在后台-》设置-》相关设置-》安全设置里面填写了一个二级域名作为管理地址,并修改caches/configs/system.php 下的''admin_url'' => ''admin.主域名.com'', //允许访问后台的域名
但是出现了后台内容无法上传附件的问题,只要点击上传图片或附件就会卡死。
经过仔细分析发现BUG,首先按照官方设置了管理后台专用的二级域名后,其他的域名访问后台管理就会出现没有权限访问的提示,会不会上传图片的时候调用的编辑器地址依然用的是system.php里面''app_path'' => ''http://www.主域名.com/'',生成的地址呢,这样上传图片的时候,就会出现上传的时候打开页面没有权限卡死,通过一个网友在网站上发的博客,证实确实是这样BUG的产生,就是当管理员设置了专用的管理域名的时候,后台所使用的编辑器却还在使用主域名调用的编辑器,所以造成上传附件和图片没有权限。
解决办法
方法1
不使用专用的二级域名管理后台,放开权限。一切ok了
方法2
就是纠结必须用专用的二级域名管理后台。
1、修改system.php 在''app_path'' => ''http://www.主域名.com/''下面添加一行
''up_path'' => ''http://cp.dzhaofang.com/'',//后台域名配置地址
2、修改/phpcms/base.php
加入如下代码
//后台CKEditor地址
define(''UP_PATH'',pc_base::load_config(''system'',''up_path''));
3、修改/phpcms/libs/classes/form.class.php
将
if($allowupload) $str .= "filebrowserUploadUrl : ''".APP_PATH."index.php?m=attachment&c=attachments&a=upload&module=".$module."&catid=".$catid."&dosubmit=1'',\r\n";
改为
if($allowupload) $str .= "filebrowserUploadUrl : ''".UP_PATH."index.php?m=attachment&c=attachments&a=upload&module=".$module."&catid=".$catid."&dosubmit=1'',\r\n";
就ok了
另外这个BUG还造成了使用专用后台二级管理域名的时候,无法保存远程图片的错误。希望官方抓紧修改这个bug,加上对后台专用二级域名的验证,再调用文本编辑器和远程图片保存的问题。