我目前正在为 Wordpress 开发插件。最近,当我尝试在本地安装中打开网站页面时,开始遇到一些问题。每当我尝试在新的 Chrome 隐身窗口中打开它时,都会收到 500 错误。从正常的 Chrome 模式中删除 cookie 也会触发该问题。Apache 日志显示我用尽了最大内存限制。将限制设置为 -1 会导致无限内存负载,因此我必须手动停止 apache 执行。然后我启用了 xdebug 并打开了调试模式。据我所知,xdebug 带有最大嵌套限制,所以这就是我现在得到的错误。调用栈显示存在一个函数调用循环。这是它的样子:( ! ) Error: Maximum function nesting level of '256' reached, aborting! in /.../wp-includes/wp-db.php on line 2030Call Stack# Time Memory Function Location1 0.0008 397344 {main}( ) .../index.php:02 0.0010 397632 require( '.../wp-blog-header.php' ) .../index.php:173 0.0011 397984 require_once( '.../wp-load.php' ) .../wp-blog-header.php:134 0.0044 411632 require_once( '.../wp-config.php' ) .../wp-load.php:375 0.0046 413160 require_once( '.../wp-settings.php' ) .../wp-config.php:1016 0.9406 10171032 do_action( ) .../wp-settings.php:3757 0.9406 10171408 WP_Hook->do_action( ) .../plugin.php:4658 0.9406 10171408 WP_Hook->apply_filters( ) .../class-wp-hook.php:3109 0.9474 10227816 Classic_Editor::init_actions( ) .../class-wp-hook.php:28610 0.9482 10229208 Classic_Editor::get_settings( ) .../classic-editor.php:4211 0.9482 10229208 get_option( ) .../classic-editor.php:23312 0.9484 10229528 W3TC\DbCache_Wpdb->get_row( ) .../option.php:10013 0.9484 10229528 W3TC\DbCache_Wpdb->query( ) .../wp-db.php:250114 0.9484 10229528 W3TC\DbCache_WpdbInjection_QueryCaching->query( ) .../DbCache_Wpdb.php:16715 0.9486 10229616 W3TC\Cache_File->get( ) .../DbCache_WpdbInjection_QueryCaching.php:14316 0.9486 10229616 W3TC\Cache_File->get_with_old( ) .../Cache_Base.php:9617 0.9486 10229616 W3TC\Cache_File->_get_with_old_raw( ) .../Cache_File.php:13618 0.9486 10230048 W3TC\Cache_File->_get_path( ) .../Cache_File.php:154重复第 12 到 23 行,直到第 252 行。我试图将最大嵌套级别设置为 5000,但总是达到限制。此外,由于日志似乎暗示问题来自 W3 TC 堵塞,我尝试禁用它。问题暂时消失了,我能够以隐身模式访问该站点,但一段时间后又重新出现。使用 W3 TC 清理缓存似乎也可以暂时解决问题。从这一点来说,我不知道我还能尝试什么。我怎样才能永久解决这个问题?
添加回答
举报
0/150
提交
取消