你有没有碰到过这种情况?刚装完DedeCMS,后台点个发布按钮直接弹权限报错,前台打开直接一片空白,改了好几个文件权限还是不对,折腾大半天都摸不着头脑?
其实这事儿真不是什么大bug,90%都是新手刚传程序的时候没注意权限配置,踩了常规坑而已。
DedeCMS运行的时候,得有几个目录用来存缓存、存上传的附件,要是这些目录是只读权限,程序写不进去东西,可不就报错给你看嘛。
DedeCMS必须开放读写权限的核心目录就这几个:
改权限的时候,一般给755权限就够了,现在主流服务器都不让随便开777,太危险。重点要记得:改完权限一定要勾选「递归应用到子目录和文件」,很多人就漏了这一步,只改了父目录不改子文件,该报错还是报,纯纯白忙活。
要是你权限改对了还是报错,那十有八九是用了CentOS服务器,被SELinux坑了。我刚玩独立服务器那会,就卡在这问题上整了一天,说出来都是泪。
说白了SELinux是系统自带的安全工具,管得太宽,默认就不让web进程读写站点目录,直接把DedeCMS的请求拦了,你改文件权限根本没用。

先查一下是不是开着SELinux,输这个命令:
``` getenforce ```如果输出结果是 Enforcing,那就是它搞的鬼。临时关掉可以输这个:
想永久解决就改一下配置文件,把/etc/selinux/config里的 SELINUX=enforcing 改成 SELINUX=disabled,重启服务器就完事了。
要是你用root账号传的程序,web服务器运行用的是www或者nginx用户,人家长权限根本读不了你的文件,可不报错嘛。
改一下所属用户就行,命令换成你自己的站点路径:
``` chown -R www:www /你的站点根目录路径 ```改完配置先清个缓存刷新,大部分情况都能解决。要是还报错,直接去看你web服务器的错误日志,一般都在/www/wwwlogs目录下,搜关键词「permission」,一搜就能找到到底哪个目录权限不对,比你瞎蒙着改效率高一百倍。
最后提醒一句,别图省事把全站都改成777权限,确实能解决报错,但相当于把服务器大门敞开给黑客,随便上个木马你就哭去吧,只给需要读写的几个目录开755完全够用。
DedeCMS权限报错真不是什么大问题,按这个思路捋一遍,三五分钟就能搞定,别再对着报错页面发呆啦。
易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图