WordPress报错:Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes)


WordPress报错:

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes) in C:\dev\nginx\html\wordpress\wp-includes\class-wpdb.php on line 2315

上面的报错,是说php脚本需要跟多的内存来运行,只需要调整php配置文件中的memory_limit参数

将128调大,直到程序可以正常运行即可。调整php参数,是需要重启php才会生效的。

如果服务器内存比较小,无法调整php参数,那就需要检查下插件、主题是否将数据存储到了wp_options表了。

在数据库执行以下数据库语句:

SELECT COUNT(*) FROM wp_options WHERE autoload IN ( 'yes', 'on', 'auto-on', 'auto' )

如果返回的数据比较多,则说明插件或主题向此表写入的自动加载数据比较多,需要优化。例如:

17万多的数据都需要加载到页面执行,这肯定会导致内存不足,解决办法是:将不需要自动加载的数据设置为不自动加载。

update wp_options SET autoload='off' WHERE option_id > 3000 and autoload IN ( 'yes', 'on', 'auto-on', 'auto' )

上面的更新条件根据自己的程序来设置,请勿随意更新数据库表内容。

执行完后,发现网站运行不需要太多的php内存,即可正常运行。