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 查询的几种方法。您喜欢哪一种方法?或者您是否有其他更好的方法?请在评论中告诉我们,以便小编补充更多信息。

相关推荐
海天鹰13 小时前
PHP上传文件
android·开发语言·php
shiyi.十一16 小时前
第7章:无线网络和移动网络 — 知识要点与架构
网络·架构·php
晓梦林17 小时前
[极客大挑战 2019]PHP学习笔记
笔记·学习·php
2401_8949155318 小时前
Geo优化系统源码部署搭建技术——PHP程序开发部署指南
开发语言·php
HH‘HH20 小时前
前端应用的离线暂停更新策略:原理、实现与最佳实践
开发语言·前端·php
xlq2232221 小时前
高并发服务器day8(含服务器完整架构)
运维·服务器·php
Loongproxy1 天前
2026年隧道带IP哪个好?国内代理IP服务商排名:高匿、稳定、性价比对比
网络·tcp/ip·php
twcc_come2 天前
安全策略配置实验报告
开发语言·php
weixin_BYSJ19872 天前
springboot3家政平台小程序--附源码00904
java·javascript·spring boot·python·django·flask·php
上海安当技术2 天前
车间电脑指纹登录怎么做?从 FIDO2 公钥体系到统一身份认证的技术拆解
开发语言·电脑·php