如何获取调试日志中WordPress“TABLE不存在”错误的完整堆栈跟踪?

时间:2021-04-03 作者:Martin_W

我得到一个WordPress;“表不存在”;调试时出错。日志,但与大多数错误不同的是,它没有提供完整的堆栈跟踪来帮助我隔离代码。有人知道如何告诉WordPress转储此错误的完整堆栈跟踪吗?谢谢

[03-Apr-2021 08:19:39 UTC] WordPress database error Table \'**********.wp_47_wslusersprofiles\' doesn\'t exist for query SELECT id, object_sha FROM `wp_47_wslusersprofiles` where user_id = 33 and provider = \'Google\' and identifier = \'115473556036777077042\' made by require(\'wp-load.php\'), require_once(\'wp-config.php\'), require_once(\'wp-settings.php\'), do_action(\'init\'), WP_Hook->do_action, WP_Hook->apply_filters, wsl_process_login, wsl_process_login_end, wsl_process_login_update_wsl_user_data, wsl_store_hybridauth_user_profile
更多背景信息:我知道wslusersprofiles 表不是标准的WordPress表。让我困惑的是,为什么我的debug.log 类似于PHP错误、警告或通知的文件。就好像WordPress数据库类捕获了这个错误,只发出了一个error_log() 通知,而不会引发PHP错误。有没有办法强制它抛出异常?或者至少透露更多细节?

1 个回复
最合适的回答,由SO网友:Andrew 整理而成

您没有看到堆栈跟踪,因为此信息是通过error_log() functionwpdb::print_error() method. error_log() 只需向日志发送一条消息。

完整堆栈跟踪所需的行为trigger_error() 待使用。