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

更新于 2021年10月16日 精品教程

背景

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

问题以及原因

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

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

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

解决办法

// 不保存查询
define('SAVEQUERIES', false);
// 不缓存数据
wp_suspend_cache_addition(true);

你可能还喜欢下面这些文章

如何设置PHP内存如何设置PHP内存

如何设置PHP内存大小要设置PHP内存大小,可以使用以下两种方法:方法一、修改php.ini文件在php.ini文件中,可以找到“memory_limit”设置项,将其值设置为所需的内存大小即可。

大客户版授权码功能上线大客户版授权码功能上线

用户使用起来也不太方便。现在大客户版授权码上线啦,5个以上的授权就可以使用。一个授权码搞定多个网站的授权。

imwpcache缓存插件增加SQLite缓存分库功能imwpcache缓存插件增加SQLite缓存分库功能

近期有朋友反馈缓存无法工作了,用的SQLite缓存驱动。开启之后将会生成16个缓存库,每个网页均匀hash到相应的库中,如果原来每个库能支撑30W文章,那分库之后支撑480W文章无压力(前提是你的WordPress可以支撑)。

imwpcache支持自定义缓存文件所在目录啦!如何设置?imwpcache支持自定义缓存文件所在目录啦!如何设置?

imwpcache自 1.3 版本开始支持自定义缓存文件路径。当设置为Sqlite或者文件缓存时候,1.3版本之前缓存文件位置固定为wp-content/cache文件夹。3. SQLite 文件缓存5. 支持自定义文件缓存和SQLite缓存

如何禁用WordPress前台搜索功能如何禁用WordPress前台搜索功能

我们可以使用百度、360等实现站内搜索,并禁止前台使用WordPress自带的搜索功能,在当前主题的 functions.php 文件里加入以下代码即可。注:可以选择执行搜索后显示的错误页面,是跳转到404或者网站首页。

wordpress filter parse_term_query修改分类的查询参数wordpress filter parse_term_query修改分类的查询参数

parse_term_query过滤器用于修改分类的查询参数,所有分类的查询(包括后台)都会用到它,因此可以修改它来自定义我们的分类查询。wordpress后台的二级分类太多,展示太乱!

wordpress缓存插件: imwpcache 最快的全站静态化插件wordpress缓存插件: imwpcache 最快的全站静态化插件

imwpcache是一款可以最大限度为wordpress提速的缓存插件。这就是imwpcache是最快的全站缓存插件的原因。一定要两个插件都安装,imwpf是imwpcache运行的基础缓存。

WordPress后台加速插件wpafWordPress后台加速插件wpaf

wpaf就是这样一款能给后台加速的插件,不需要复杂的设置即可享受到高速的打开体验。和常规缓存插件不一样,这个插件是从根本上改造了wordpress的计数系统,摆脱原生计数这个笨重镣铐。

好看 (0) 很好看 (0) 非常好看 (0)