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

相关推荐
yu_zhidun7 小时前
企业电脑监控软件怎么选:别只看功能清单,先看这 6 个底层能力
开发语言·电脑·php·域智盾系统
李纲明9 小时前
WordPress 白屏排查手册:关插件、换主题、开调试、查 PHP(附停手信号)
开发语言·php·wordpress·故障排查·白屏·插件冲突
天远API11 小时前
零信任架构实战:基于天远公安二要素政务版构建自动化不动产交易与契税核算实名核实网关
人工智能·架构·自动化·php
WeiXin_DZbishe13 小时前
基于springboot装修风格选择系统的设计与开发-计算机毕设【课程设计】77964
java·vue.js·spring boot·后端·python·php·课程设计
anew___14 小时前
《从零手写操作系统 (49):虚拟内存进阶——Demand Paging、Swap与缺页异常处理》
linux·服务器·php
misty youth16 小时前
Navicat与PHPstudy小皮
mysql·adb·php·navicat
I肆逸I18 小时前
OpenStack 管理:从认证、计算到存储与网络
网络·php·openstack
寻林写彡19 小时前
Web 安全三大漏洞靶场作业全整理:PHP 核心函数与防御方案汇总
安全·php
sejinan20 小时前
新版!IPTV直播源列表 V1.7 正式发布:接口大厅与会员定制生态解读
开发语言·php
白帽攻防录1 天前
SRC 挖洞:PostScript 打印机驱动双 RCE,打印服务器怎么变成内网跳板
开发语言·网络安全·php·内网安全