返回列表 发布新帖
查看: 182|回复: 1

[CodeCMS-Web大项目]系列EP2-4:毁天灭地的BugHTTP2ERROR-官方消息(转载自代码工艺)

18

主题

98

回帖

1614

积分

管理员

Game/IT developer

积分
1614

一周年纪念

发表于 2025-4-12 13:57:22 | 查看全部 |阅读模式
[CodeCMS-Web大项目]系列EP2-4:毁天灭地的BugHTTP2ERROR-官方消息(转载自代码工艺)
关于从2月至4月来net::ERR_HTTP2_PROTOCOL_ERROR引起的网站断联问题

(注:EP2-1~2-3关于CodeCMSv0.2的更新的技术细节与文档帖还没写好)
(原文链接,待Bug修改完之后失效,更多信息plz visithttps://codecraft.czlj.net)

Developer_Ni | 2025-04-12 13:31:41
CodeCMS的测试网站自从2月的一次小更新之后,出现了无法与数据库交互的Bug。
在开发人员的努力Debug下,我们对这个毁天灭地的问题有了初步的了解与对策。

程序猿老秃:现在这个问题正在解决中...
问题描述
最近,打开官网时大家会发现index.php本来输出帖子的地方和检测用户Cookie的地方会显示
  •    net::ERR_HTTP2_PROTOCOL_ERROR
根据相关资料,net::ERR_HTTP2_PROTOCOL_ERROR产生的原因有很多
一种是因为网页需要从服务器获取的信息超过了服务器的Web服务器程序(如Apache,Nginx)配置的—最大缓存上限—(这是HTTP/2.0快速传输技术的特色之一),导致服务器程序返回这个报错信息;
二是PHP脚本与数据库等程序交互响应时间 —超过php设置的最大时限导致返回该报错;—
我们对问题的猜测情况一:v0.2最后一次更新的代码问题
2月底时,CodeCMS的首页显示帖子的功能是通过v0.2版本下/application/db_api/BBS.php脚本实现的。
该脚本会显示标题、链接和梗概
首先回顾一下:在此次小更新前的版本里,存储文章的表格中有标题,作者,浏览量,内容,梗概
!发帖时,梗概栏允许留空,若留空,存进数据库的帖子的梗概列里值为SYS_AUTO_RESUME,BBS.php脚本输出时如果检测到SYS_AUTO_RESUME这个特殊值,则输出的梗概为帖子前50个字。
!!!这样的话,脚本必须知道帖子的内容才能输出前50个字,所以v0.2版的BBS.php会查询所有帖子数据。
这就是问题所在之一:如果数据库里的数据过多,BBS.php脚本查询的时间就会变长如果这个时间超过了我们服务器PHP配置的最大查询时间,这将导致查询失败,服务器返回net::ERR_HTTP2_PROTOCOL_ERROR。
值得注意的是, 我们在本地电脑上搭建了phpstudy这样的Web服务器环境行测试,使用([url=https://codecraft.czlj.net/data/backup/v0.2.zip)[https://codecraft.czlj.net/data/backup/v0.2.zip]https://codecraft.czlj.net/data/backup/v0.2.zip)[https://codecraft.czlj.net/data/backup/v0.2.zip[/url]]
的CodeCMS v0.2版本的源码并没有出现这个HTTP2ERROR,—我们对php配置的查询时间限制远远大于正常时限—,这更能说明该因素的可能性。
(注:CodeCraft官方目前使用的是某某云虚拟主机,无法修改php配置,所以这种情况难以从服务器环境入手解决)
情况二:服务器的问题
为什么这么说呢?先看看之前v0.2的文件目录树:
<根目录>/[-] ━━
Gitee上可以搜到该项目的开源存储库 
发表于 2025-4-12 15:58
黑客技术更重要的是黑客精神
click here!-->『CodeCraft官网』技术点亮人生
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

投诉/建议联系

[email protected]

未经授权禁止转载,复制和建立镜像,
如有违反,追究法律责任
  • 关注公众号
  • 添加微信客服
Copyright © 2024-2025 CZLJ 版权所有 All Rights Reserved.
关灯 在本版发帖
扫一扫添加微信客服
返回顶部
快速回复 返回顶部 返回列表