之前百度推出了一款WordPress结构化数据插件,经使用感觉还不错。只是最近发现一个问题,在WordPress后台发布新文章时,点击发布后,要等很久页面才能提交成功,而且经常造成主机资源超限,出现500错误。
经排查,露兜发现此问题是由WordPress结构化数据插件造成的,它的publish_post执行函数耗时15秒!停用该插件后,文章发布就变得很快了。当然也有可能是这个插件跟我网站的某些代码不兼容造成。如果你的WordPress后台发布文章也要等很长时间,并且安装了这个插件,不妨用下面的方法排查一下,确定这段代码的执行时间是否过长:
用文本编辑器打开该插件目录下的main.php,即baidusubmit/main.php
查找:publishPost
可找到以下代码:
代码如下 | 复制代码 |
static function publishPost($postid) { require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . './inc/sitemap.php'; $schema = BaidusubmitSitemap::genSchemaByPostId($postid, $xpost); if ('publish' != $xpost->post_status || '' != $xpost->post_password) { self::deletePost($postid);z return; } $xml = $schema->toXml(); $content = BaidusubmitSitemap::genPostXml($xml); //file_put_contents('/home/work/baidusubmit.log', date('[Y-m-d H:i:s]')."n".$content, FILE_APPEND); $r = BaidusubmitSitemap::sendXml($content, 1); //file_put_contents('/home/work/baidusubmit.log', date('[Y-m-d H:i:s]')."n".$r, FILE_APPEND); } |
改成以下代码,以便计算程序运行时间:
代码如下 | 复制代码 |
static function publishPost($postid) require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . './inc/sitemap.php'; // 标记程序执行结束时间 // 计算程序执行总用时 // 发送邮件,将ludou#ludou.org改成你的邮件地址 |
将代码中的 ludou#ludou.org 改成你的邮箱地址,然后上传到你的网站服务器,并在WordPress后台发布或更新一篇文章,这时你的邮箱中就会收到一封标题为 程序用时 的邮件,邮件内容中就会看到程序运行时长。我这里测试的运行时间是15秒,这样的时间实在没法忍受,不过看在它还有点用处的份上,还是忍忍吧。
最后,测试完毕,记得将代码还原到修改之前。
敢达决战官方正版 安卓版v6.7.9
下载敢达决战 安卓版v6.7.9
下载像素火影骨架佐助 (Perseverance Fire Shadow)手机版v1.16
下载要塞英雄 安卓版v33.20.0-39082670-Android
下载梦想城镇vivo最新版本 安卓版v12.0.1
梦想城镇vivo版是这款卡通风模拟经营类手游的渠道服版本,玩
怦然心动的瞬间 安卓版v1.0
怦然心动的瞬间是一款真人向的恋爱互动游戏,在游戏中玩家将扮演
曼尼汉堡店游戏 安卓版v1.0.3
曼尼汉堡店是一款非常好玩的精品恐怖类型冒险游戏,在这款游戏中
现代总统模拟器去广告版 安卓版v1.0.46
现代总统模拟器是一款休闲养成类游戏,可能对于不少的玩家来说都
现代总统模拟器付费完整版 安卓版v1.0.46
现代总统模拟器高级版在商店是需要付费的,相对于普通版本,高级