ZBlog PHP吓人的插件BUG "preg_replace()函数 Unknown modifier 'Q' "

原创  郑建华   2020-01-11   81人阅读  0 条评论
摘要:

    今日兴致勃勃的发了好几篇文章,在发文章的过程中,发现之前创建的http,https标签,由于增加了“文章标签(TAG)自动内链插件”这个插件,导致文章内本身的超链接被自动内链给覆盖掉了。于是,我直接删除了http标签,https标签,然后继续整理文章了。然而在我全部整理完成后,后台清理了一下缓存,刷新文章数量后,再次查看时,忽然文章页打开保存了,吓得我一个激灵。    出现这个问题的时候,我并没有联想到之前针对标签的操作,只是很

    今日兴致勃勃的发了好几篇文章,在发文章的过程中,发现之前创建的http,https标签,由于增加了“文章标签(TAG)自动内链插件”这个插件,导致文章内本身的超链接被自动内链给覆盖掉了。于是,我直接删除了http标签,https标签,然后继续整理文章了。然而在我全部整理完成后,后台清理了一下缓存,刷新文章数量后,再次查看时,忽然文章页打开保存了,吓得我一个激灵。

image.png

    出现这个问题的时候,我并没有联想到之前针对标签的操作,只是很疑惑,这TM哪里出问题了。难道是刚才动了哪个模板文件,给影响到了?不懂,我就问百度,这是一个php的正则表达式验证方法,没有啥非常有用的线索啊。我有点着急了。

image.png

    暂时没有思路,要不先排查一下啊模板文件的问题?,取到网站的备份文件,另外再将当前网站内容打个包。传送回本地电脑,再使用对比工具一个一个对比。what?300多MB的文件,传送回来要20多分钟?有点小郁闷啊,这要是发生在大网站上面,岂不是会损失很大?我这个小网站,没啥人访问,就慢慢处理吧。

    在等待的过程中,我也不能闲着,动了模板导致这个问题的,只是有可能,对比文件是没办法的办法,可能还有其他因素影响,得仔细想想。在这个过程中,我尝试切换了主题,同样的,网站主页能打开,只要是跳转到文章页,就提示这个错误。这说明主题的模板文件是没有影响的,可能是其他地方的代码影响了。也直接搜索过这段代码,想找出蛛丝马迹,奈何文件太多了,无从下手。

image.png

    最后,我是灵机一动,回想起刚才是删过标签,这个又是正则验证问题,而我插件库正好又有一个链接的插件。于是我立即关掉该插件,果然,文章页能正常访问了,这才找出了根本原因。经过验证,发现是不是标签被删掉了的问题,而是标签列表中存在一个“PL/SQL”的标签,这个标签中带有一个/,导致正则未通过,提示错误。

    这插件的bug还是有点吓人啊,没有点经验很可能就找不到问题所在。以后自己写的东西,还是尽量避免这种恶性bug吧。另外,遇到事情,真的要保持冷静,冷静下来了,相信自己,问题就解决了。


本文地址:https://www.zjh336.cn/?id=191
版权声明:本文为原创文章,版权归 郑建华 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

还没有留言,还不快点抢沙发?