我的知识记录

网站发布文章封面图失败_缩略图生成错误解决

网站发布文章/内容时出现错误(保存失败、空白丢失、乱码、图片不显示、封面图失败、栏目错误、标签错误、SEO设置失败、定时发布失败、审核失败、被WAF拦截、字数限制、特殊字符被过滤、附件/视频失败、分页错误、别名重复、静态化失败、推送失败)是站长经常遇到的问题,直接影响内容更新和SEO。本文系统讲解网站发布相关的各种错误和解决方法,从数据库写入、权限、编码、上传、缩略图、栏目/标签/SEO、定时发布、审核、WAF拦截、字数限制、特殊字符、附件/视频、分页、别名、静态化、推送等角度,帮助站长全面解决发布错误,确保内容正常发布和收录。

常见发布错误详解与解决。1.保存失败/提示错误(最常见)——a.现象:点击保存/发布后提示『保存失败』『发生错误』『数据库错误』,文章没保存;b.排查:F12→Network看保存请求的响应(状态码+返回内容,通常有具体错误信息),看程序错误日志(PHP/数据库错误),测试简单内容(几个字能不能发);c.常见原因:数据库连接失败/表缺字段/数据冲突(别名重复)/权限不足/WAF拦截/内容含违禁词/PHP超时/磁盘满;d.解决:根据错误信息对应解决(数据库错→检查连接/表结构,权限→检查用户角色/数据库权限,WAF→加白名单,违禁词→修改内容,超时→调大max_execution_time,磁盘满→清理空间)。2.内容空白/丢失——a.现象:保存后文章内容为空,或部分内容丢失(后半段没了);b.原因:字数超限(内容超过数据库字段限制,如TEXT最大64K,超过被截断,用LONGTEXT)、post_max_size太小(大内容POST被截断,调大post_max_size)、特殊字符(内容含NULL字节/非法字符,被过滤)、编辑器bug(富文本编辑器提交时内容丢失,更新编辑器/换编辑器)、XSS过滤(程序过滤了HTML标签,内容被清空,检查过滤规则)、浏览器插件(翻译插件/广告拦截修改了表单内容,禁用插件测试);c.解决:数据库字段改LONGTEXT(ALTER TABLE 文章表 MODIFY content LONGTEXT),调大post_max_size,用纯文本测试排除内容问题,更新编辑器,检查程序过滤规则,禁用浏览器插件测试。3.发布乱码——a.现象:保存后文章内容中文变问号/乱码/方块;b.原因:数据库字符集不对(表/字段不是utf8mb4,中文存进去变问号)、连接字符集不对(PHP连接数据库没SET NAMES utf8mb4,写入时乱码)、PHP文件编码(程序文件不是UTF-8无BOM,字符串常量乱码)、编辑器编码(富文本编辑器提交编码不对)、从Word复制带特殊编码字符;c.解决:数据库/表/字段统一utf8mb4(ALTER TABLE CONVERT TO CHARACTER SET utf8mb4),PHP连接后SET NAMES utf8mb4,程序文件转UTF-8无BOM,从Word复制先用『清除格式』,已乱码的数据(问号)无法恢复重新录入,双重编码可修复(见乱码专题)。4.图片不显示/上传失败——a.现象:文章中图片上传失败,或发布后图片裂图/不显示;b.原因:上传目录权限(不可写,chmod 755/chown)、上传大小限制(PHP upload_max_filesize/Nginx client_max_body_size太小,大图片传不上)、图片格式不允许(程序只允许jpg/png/gif,webp/svg被拒,转换格式或配置允许)、图片路径错(相对路径/域名错,发布后路径不对,用绝对路径或程序变量)、防盗链(图片域名被防盗链拦截,加白名单)、HTTPS混合内容(HTTPS页面加载HTTP图片被拦截,改HTTPS)、CDN缓存(CDN缓存了旧的/没同步新图片,刷新CDN);c.解决:见图片错误/存储错误专题,先确认图片能单独上传(上传到服务器,URL能访问),再插入文章,用绝对路径或程序自带的上传功能(不要手动写相对路径)。5.封面图/缩略图失败——a.现象:文章封面图上传失败,或列表页缩略图不显示/变形;b.原因:GD库没装(PHP没装GD扩展,无法生成缩略图,phpinfo看gd,安装php-gd)、图片太大(内存不足无法生成缩略图,调大memory_limit或压缩图片)、缩略图目录权限(不可写,chmod)、缩略图尺寸配置(后台缩略图尺寸设置不合理,生成失败/变形,调整尺寸)、图片格式(GD不支持webp等格式,转换为jpg/png)、水印功能(开启水印但水印图不存在/字体不存在,生成失败,检查水印配置);c.解决:安装GD扩展,调大memory_limit,检查缩略图目录权限,配置合理缩略图尺寸,用jpg/png格式,检查水印配置。6.栏目/分类错误——a.现象:发布时选不了栏目,或发布到错误栏目,或栏目下不显示文章;b.原因:栏目被禁用/删除(后台栏目管理看是否正常,恢复/重建)、用户无栏目权限(按栏目分配权限的系统,用户没有该栏目权限,分配权限)、栏目ID错(模板/程序中栏目ID写错,检查配置)、栏目模型不匹配(文章模型和栏目模型不一致,无法发布,调整栏目模型)、栏目绑定域名(子域名栏目,跨域发布问题,检查域名配置);c.解决:检查栏目状态/权限/ID/模型,恢复被删栏目,分配用户权限,修正模板栏目ID。7.标签/Tag错误——a.现象:标签保存失败,或标签不显示/重复;b.原因:标签表损坏/缺字段(升级后,检查标签表结构)、标签长度限制(标签太长被截断,调整字段长度)、标签分隔符(中文逗号/全角分隔符不识别,用英文逗号)、标签功能未开启(后台没开启标签功能,开启)、标签缓存(标签缓存没更新,清缓存);c.解决:检查标签表结构,用英文逗号分隔,开启标签功能,清缓存,调整字段长度。8.SEO设置失败——a.现象:SEO标题/关键词/描述保存失败,或不生效;b.原因:SEO字段不存在(程序版本没SEO功能/升级后缺字段,检查文章表SEO字段)、字段长度限制(SEO标题/描述太长被截断,调整字段长度,SEO标题建议<30字,描述<80字)、SEO插件冲突(多个SEO插件冲突,禁用多余的)、模板没调用SEO标签(模板header中没输出SEO标题/描述,检查模板header.html,加{seo_title})、缓存(页面缓存没更新,清缓存);c.解决:检查SEO字段,控制长度,禁用冲突插件,模板调用SEO标签,清缓存。9.定时发布失败——a.现象:设置了定时发布但到时间没发布,或发布时间不对;b.原因:计划任务/cron没配置(定时发布依赖cron访问触发URL,没配置cron就不会触发,配置crontab每分钟访问触发地址)、cron没运行(服务器cron服务没启动,service cron status,启动)、服务器时间错(服务器时间和实际时间差太多,date看,校正时间NTP)、定时时间已过(设置的发布时间已经过去了,程序不会发布,改未来时间)、文章状态(定时发布的文章状态是『定时』而不是『已发布』,检查状态)、缓存/静态化(静态化网站定时发布后没重新生成静态页,配置发布后自动生成);c.解决:配置cron(* * * * * curl https://域名/cron/task),启动cron服务,校正服务器时间,设置未来时间,检查文章状态,静态化配置自动生成。10.审核失败——a.现象:文章提交审核后没通过,或审核流程卡住;b.原因:审核工作流没配置(没设置审核人/审核流程,配置审核流程)、用户无审核权限(审核人没有审核权限,分配权限)、审核通知没发(审核人没收到通知,检查邮件/站内通知配置)、多级审核卡住(上一级没审核,下一级无法操作,联系上一级审核)、文章被驳回(审核人驳回了,看驳回原因修改后重新提交);c.解决:配置审核工作流,分配审核权限,检查通知配置,联系审核人,根据驳回原因修改。

WAF拦截、字数限制、特殊字符、附件/视频、分页、别名、静态化、推送。1.WAF/安全软件拦截——a.现象:点击发布后返回403/拦截页面/『请求不合法』,或内容被截断,简单内容能发,含HTML/链接/代码的内容发不了;b.原因:WAF(云WAF/安全狗/宝塔防火墙/ModSecurity)误判发布内容为攻击(SQL注入/XSS/webshell上传/恶意提交),特别是内容含