如何避免cli模式下wordpress内存耗尽

更新于 2020年5月19日 精品教程

背景

在有些场景下,会写一些脚本在cli模式下跑,比如刷数据之类的任务。

问题以及原因

在一个一直循环跑的任务中,使用wp的数据库或者一些常见的操作都有可能导致内存耗尽,最终脚本被退出。

其原因在于wordpress的wpdb类会保存query,每一条query都会保存在内存中,随着查询越来越多,这个变量得不到释放,于是内存最终会被耗尽。

另外一个原因在于wordpress的object cache,这也会将查询的结果保存在内存!

解决办法

// 不保存查询
define('SAVEQUERIES', false);
// 不缓存数据
wp_suspend_cache_addition(true);
好看 (0) 很好看 (0) 非常好看 (0)
赞赏

微信赞赏支付宝赞赏