我正在使用wordpress。并且已插入超过20,000个产品类别,但现在我显示所有类别的页面已关闭且无法使用。
即使在后端 - 经过一些类别后,我也看不到休息。我看到以下错误:
Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 262144
bytes) in /wp-admin/includes/class-wp-terms-list-table.php on line 273
Maximum execution time of 30 seconds exceeded in class-wp-terms-list-table.php on line 273
PHP Fatal error: Maximum execution time of 30 seconds exceeded in
/wp-includes/taxonomy.php on line 0
我尝试将php.ini设置增加到:
memory_limit = 1024M
max_execution_time = 3000
但没有运气。可能是什么问题?我错过了什么吗?
答案 0 :(得分:1)
魔兽。好多啊!在wordpress方面,你慢慢杀死你的服务器。 我会建议一些事情。
立即转向独立服务器(linode / digital ocean),为合理数量的金钱提供良好的解决方案。
关于实现缓存的方法,我也建议使用内存缓存,如memcached或redis,两者的实现都存在于wordpress.org/plugins目录中。
wordpress域中的内存limin上升是以下一种方式完成的。您需要在wp-config.php中定义要使用的内存量。 e.g。
define('WP_MEMORY_LIMIT','512M');
时间限制可以通过下一种方式完成(也可以在wp-config中完成),但我建议以其他方式修复issu(实现缓存)
@ini_set('max_execution_time',0); @set_time_limit(0);
还请考虑将分类法更改为标记的方法(如果不需要层次结构),并使用常规方法查看类别。例如,在WordPress中获取类别列表,触发3个表(连接等)。
解决问题的另一种方法是通过wordpress过滤器改变SQL(但是在get_terms的情况下,用纯WordPress方式实现它有点难度)
答案 1 :(得分:0)
尝试通过纯SQL查询获取类别(而不是像get_terms这样的wordpress函数)。