织梦在后台发表文章时上传本地失败
dedecms57本地无法上传缩略图解决方法:
请修改 /include/cphp 第45行
$imtypes = array 改成 $imgtypes = array你会发现少了个“g”
保存即可。
不能上传成功的原因大概有以下几种:
1、目录上传权限不够。
2、程序本身漏洞导致,或程序不完整导致。
3、操作系统问题。
检测目录权限
当 提示上传失败的时候,我首先检测的是文件权限是否足够。经过检测,文件夹的权限是755表示已经足够,并且已经重新创建了文件夹并赋予最高权限,依然 没有解决该问题,接着检测用户组权限是否足够,通过检测也没有发现任何的问题,因此文件夹权限导致不能正常上传的可能性被排除。
网站程序完整性
接着检测网站程序的完整性,发现十多个网站都不能正常上传,于是排除了网站程序完整性导致上传失败的可能性。
操作系统问题
于是检测 WEB NGINX 服务器,将上传文件夹的可执行权限开放,但任然不能成功上传。此时,忽然想起了之前配置过 phpini 配置文 档,将 open_basedir 配置成了网站程序所在根目录 /htdocs,于是将该行代码注释掉,之后便成功的上传了,问题被解决掉。但是, 这样做放弃了安全性,有些舍不得。
通过以下方法,不仅让安全性提高,也解决了上传失败的问题:
phpini 中的open_basedir 表示:php程序执行限制在了指定的目录中,这样可以限制入侵者继续提权到操作系统,安全性有更一步的保障。其 中 upload_tmp_dir 表示的是文件上传临时目录,如果设置了 open_basedir 参数,那么 upload_tmp_dir 必须 配置,否则文件上传将不能成功。
总结:遇到不能上传,表示相当棘手。需要从上传的类型、的尺寸、文件夹权限、程序完整性到最后 的系统环境一一分析,遇到问题不要焦急,相信经过透彻的分析与测试,问题总会被解决掉。本文最终解决方法就有两个,注释 open_basedir 该行 代码就能解决问题,如果配置了 open_basedir 那么需要设定文件上传临时目录,最后笔者将 upload_tmp_dir 设定 为 /tmp 后,就可以成功上传了!
不是权限问题,需要修系统文件代码才能上传。
用dreamweaver打开include/uploadsafeincphp,找到第45行代码$imtypes='array',只需在im之后添加一个字母g,改成$imgtypes='array'
就行了。
1、打开织梦网站后台网址,输入网站用户名、密码和验证码,点击登录,进入织梦网站后台
2、点击织梦网站后台左侧的模块选项,
3、点击模块选项下的文件管理器,
4、按ctrl+f组合键,找到include文件夹,点击进入
5、在incude文件夹里,找到uploadsafeincphp 文件,点击编辑进入
6、在uploadsafeincphp文件夹中找到 $imtypes改为 $imgtypes,点击保存。
可以试试。
0条评论