网站发布文章栏目错误_栏目选择与权限排查
网站发布错误排查通用流程。发布文章失败时,按以下流程系统排查:1.确认错误现象——a.什么操作时报错(点击保存/发布/更新?保存草稿?定时发布?审核?);b.错误提示是什么(完整复制:『保存失败』『数据库错误』『权限不足』『内容包含违禁词』『文件过大』『403/500』);c.什么时候开始的(一直/最近操作后/升级后/换服务器后);d.影响范围(所有文章/特定栏目/特定内容/特定用户/特定类型);e.是新发布还是编辑旧文章?2.基础检查——a.换浏览器/无痕模式(排除浏览器缓存/插件/扩展干扰,如广告拦截/脚本拦截);b.清浏览器缓存(Ctrl+F5);c.看浏览器F12→Console(JS错误,如编辑器JS报错导致保存按钮失效)、Network(保存请求的状态码/响应内容,看是403/500/200但返回错误信息);d.测试简单内容(发一篇只有标题+几个字的测试文章,能发=内容问题(特殊字符/字数/违禁词/图片),不能发=系统问题(权限/数据库/配置/WAF))。3.检查权限——a.用户角色权限(后台用户是否有发布文章的权限,管理员/编辑/作者权限不同,作者可能只能发草稿不能发布);b.栏目权限(是否有该栏目的发布权限,部分系统按栏目分配权限);c.数据库用户权限(数据库用户是否有INSERT/UPDATE权限,权限不足会保存失败);d.目录权限(上传目录/缓存目录是否可写,见存储错误专题);e.后台登录状态(session过期,登录失效,重新登录测试)。4.检查数据库——a.数据库连接(数据库是否正常连接,其他页面是否正常,见数据库连接错误专题);b.表结构(文章表字段是否完整,升级/迁移后可能缺字段,DESCRIBE 文章表看);c.数据冲突(别名/URL重复,唯一索引冲突,Duplicate entry错误);d.数据库错误(看错误日志,SQL语法错/字段不存在/表损坏);e.数据库连接数(Too many connections,高峰连接满,保存失败)。5.检查内容相关——a.字数限制(内容过长超过数据库字段限制或PHP post_max_size,被截断/保存失败,看字段类型TEXT/LONGTEXT,post_max_size);b.特殊字符(内容含HTML/JS/CSS代码,被程序过滤/转义,导致内容异常或保存失败,检查程序过滤规则,需要的话关闭过滤或用代码高亮插件);c.违禁词/敏感词(内容含违禁词,被程序/WAF拦截,提示『内容包含违规信息』或直接403,检查违禁词库,修改内容,或WAF误拦截加白名单);d.图片/附件(内容含图片/附件,上传失败导致保存失败,见上传错误专题,先上传图片再发布,或检查图片路径);e.格式问题(从Word/网页复制内容,带大量格式/隐藏字符,导致保存失败或乱码,用『清除格式』/纯文本粘贴,再重新排版)。6.检查功能配置——a.栏目设置(栏目是否正常/是否被禁用/是否有子栏目权限,栏目ID是否存在);b.标签系统(标签是否开启/标签表是否正常/标签长度限制);c.SEO设置(SEO标题/关键词/描述字段是否存在/长度限制);d.定时发布(计划任务/cron是否正常运行,服务器时间是否正确,定时发布时间是否已过);e.审核工作流(是否需要审核,审核流程是否配置,用户是否在审核流程中);f.版本控制(多版本功能是否开启,版本表是否正常);g.静态化(是否开启静态化,静态目录权限/生成配置,静态化失败可能发布后不更新);h.推送(百度/搜索引擎推送配置是否正确,API密钥/推送地址,推送失败不影响发布但影响收录)。7.检查WAF/安全软件——a.WAF(云WAF/服务器安全狗/宝塔防火墙)可能拦截发布请求(误判为SQL注入/XSS/恶意提交,特别是内容含HTML/JS/链接时),返回403或拦截页面;b.解决:临时关闭WAF测试(确认是WAF拦截),WAF后台加白名单(发布URL/后台IP),调整WAF规则(降低敏感度/排除后台路径),内容避免触发规则(不要含可疑代码/大量链接);c.注意:不要长期关闭WAF,加白名单后开启。8.检查程序/插件——a.程序bug(程序版本bug,升级到最新版或打补丁);b.插件冲突(编辑器插件/SEO插件/安全插件/自定义字段插件冲突,逐个禁用插件测试,定位冲突插件,更新/替换);c.主题/模板冲突(切换默认主题测试,排除主题函数冲突);d.最近修改(最近改了程序文件/配置/插件,回滚测试)。9.检查服务器环境——a.PHP版本(程序要求的PHP版本,版本过高/过低可能不兼容,phpinfo看,切换PHP版本);b.PHP扩展(mbstring/pdo/mysqlnd/gd/curl等扩展是否安装,缺失会导致功能异常);c.PHP配置(post_max_size/upload_max_filesize/max_execution_time/memory_limit,大内容/大图片需要调大);d.磁盘空间(磁盘满导致数据库写入/缓存/上传失败,df -h,见存储错误专题);e.内存(内存不足导致PHP/OOM,保存失败,free -h,调小内存参数或加内存)。排查顺序:确认现象→基础检查(浏览器/F12/简单内容测试)→权限→数据库→内容相关(字数/特殊字符/违禁词/图片/格式)→功能配置→WAF/安全→程序/插件→服务器环境。90%的发布错误是权限/内容(特殊字符/违禁词/字数)/WAF拦截/数据库问题,先查这些。
WAF拦截、字数限制、特殊字符、附件/视频、分页、别名、静态化、推送。1.WAF/安全软件拦截——a.现象:点击发布后返回403/拦截页面/『请求不合法』,或内容被截断,简单内容能发,含HTML/链接/代码的内容发不了;b.原因:WAF(云WAF/安全狗/宝塔防火墙/ModSecurity)误判发布内容为攻击(SQL注入/XSS/webshell上传/恶意提交),特别是内容含