WordPress查看 SQL 的方法

经过多年的 WordPress 开发经验,小编为您整理了三种查看 WordPress 执行 SQL 查询的方法,希望其中一种适合您的需求。

方法一:使用 WordPress 插件

最简单的方法是直接安装 WordPress 插件,例如:Query Monitor

小编点评:

Query Monitor 类似于 ThinkPHP 和 Laravel 自带的调试小工具,对于偶尔查看 SQL 查询来说还不错。但是,在 WordPress 页面包含几十甚至几百行 SQL 查询的情况下,使用该工具可能会显得不够负责任。

缺点: 当开发 API 或代码出现错误时,Query Monitor 将无法显示相关信息。它虽然可用,但并不是理想的选择,有点像那种不可靠的人,总是在平时出现,但在关键时刻消失不见。而且它的菜单藏得很深,需要多次点击才能找到 SQL 页。

推荐评级: 1 颗星(满分 5 颗星)

方法二:在 WordPress 代码中添加记录并打印 SQL 查询

通过编辑 WordPress 根目录下的 wp-config.php 文件,您可以启用 SQL 查询记录。

在文件中添加以下代码:

php 复制代码
define('SAVEQUERIES', true);

然后在需要查看 SQL 查询的地方添加以下代码:

php 复制代码
<?php
global $wpdb;
var_dump($wpdb->queries);
exit;
?>

这将启用 WordPress 记录执行的每个 SQL 查询,包括它们的执行时间,并将日志保存在名为 queries 的全局数组中。

小编点评:

想象一下,每次需要查看 SQL 查询时,都要找到适当的位置添加代码,查看完毕后再删除代码。如果问题仍未解决,您又需要返回并添加更多代码。这种循环会让您感到非常疲惫。

缺点: 需要修改代码,每天都要重复多次,即使将这几行代码定义为宏以避免手动输入,精神上仍然非常耗费精力。疲劳可能导致将错误的代码提交到线上环境的风险。

推荐评级: 2 颗星(满分 5 颗星)

方法三:使用外部工具

1. 启用 MySQL 的查询日志记录功能

只需在 MySQL 的 my.cnf 文件中添加以下代码,即可让 MySQL 记录所有执行的 SQL 查询:

ini 复制代码
# 记录 SQL
general_log = 1
general_log_file = /var/log/mysql/general_sql.log

小编点评:

要使用这种方法,您需要具备对 MySQL 服务器的权限。如果多人共享一台 MySQL 开发服务器,最好不要启用此功能,因为会引起混乱。此外,由于日志包含大量信息,很难确定哪些查询是您的,因此只建议在测试服务器上使用,只在需要解决重要问题时才登录 MySQL 服务器查看它。

缺点: 需要登录到 MySQL 服务器才能查看日志,如果 MySQL 出现问题,可能会受到怀疑。此外,由于记录了所有 SQL 查询,导致查询量巨大,很难找到与您相关的查询。

推荐评级: 3 颗星(满分 5 颗星)

2. 使用 PHPStorm 插件

PHPStorm 的插件市场提供了一个名为 MySQL Proxy 插件,将代码里数据库配置更改为它代理的端口,就能将所有的 SQL 日志展示出来。是小编目前用的唯一顺手的工具,不用改代码,不需要 MySQL 数据库服务器权限,并且检索方便。

小编点评:

这个工具类似于 MyCAT,它可以代理并记录 SQL 语句。

缺点: 尽管支持搜索功能,但不支持正则表达式搜索,只支持文本搜索,很遗憾,在复杂场景下不能满足小编的需求。

推荐评级: 4 颗星(满分 5 颗星)

以上是在 WordPress 中查看执行的 SQL 查询的几种方法。您喜欢哪一种方法?或者您是否有其他更好的方法?请在评论中告诉我们,以便小编补充更多信息。

相关推荐
lskblog6 小时前
PHP中正确处理HTTP响应:从原始响应到JSON数组的完整指南
http·json·php·laravel
万岳软件开发小城9 小时前
2026 在线教育新趋势:网校系统源码正在重塑教育培训平台开发模式
人工智能·php·在线教育系统源码·教育平台搭建·教育app开发·教育软件开发
iCxhust11 小时前
linux /etc 目录 etc是什么缩写
linux·运维·服务器·php
豌豆学姐12 小时前
Sora2 能做什么?25 秒视频生成 API 的一次接入实践
大数据·人工智能·小程序·aigc·php·开源软件
wangxingps16 小时前
phpmyadmin版本对应的各php版本
服务器·开发语言·php
lzjava202416 小时前
LangChain4j RAG检索增强生成
php
豌豆学姐16 小时前
123 口播数字人 API 接入实战:附完整前后端开源项目
大数据·php·uniapp·开源软件
幽络源小助理16 小时前
简约个人发卡系统开源源码已测 – PHP源码
开发语言·php
运维行者_17 小时前
网络流量分析入门:从流量监控与 netflow 看懂核心作用
运维·开发语言·网络·云原生·容器·kubernetes·php
catchadmin18 小时前
成为高级 PHP 开发者需要的思维转变
开发语言·php