$wpdb->Get_Results内存泄漏

时间:2015-01-22 作者:Chris

我开发了一个wordpress插件,可以读取大型自定义xml文件,并将信息作为自定义帖子类型和大量帖子元信息导入。所以我调用了很多数据库事务。插件在一个POST\'ed进程内运行几分钟,然后在内存不足(250 MB)的情况下中止。

将问题跟踪到最低限度我有一个显示问题的最低限度的示例。这个例子泄漏了大约18 kbyte的数据,这在插件运行时是一个很大的总结。查询检查是否存在具有给定标题的帖子($title)

echo "<p>memory: " . memory_get_usage() . "</p>";
global $wpdb;
$poststable = $wpdb->prefix."posts";
$items = $wpdb->get_results("SELECT ID FROM $poststable WHERE post_title=\'$title\'");
unset($items);
$wpdb->flush();
echo "<p>memory: " . memory_get_usage() . "</p>";
输出为内存:80777008内存:80795376,因此差值约为18 KB。这些字节在哪里?虽然这是一个很小的内存量,但它的总容量为数百兆字节。

谢谢克里斯

1 个回复
SO网友:Chris

@伊尔玛:谢谢!我真的没有想到这一点。我启用了插件查询监视器,这就是问题所在。。。关闭查询监视器解决了问题,内存不再增加。

结束

相关推荐

How do I set up Debugging?

在我的wp配置中。php,我有:// Enable WP_DEBUG mode define(\'WP_DEBUG\', true); // Enable Debug logging to the /wp-content/debug.log file define(\'WP_DEBUG_LOG\', true); // Disable display of errors and warnings define(\'WP_DEBUG_DISPLA