【问题标题】:Log mysql queries using PHP without a DB wrapper使用没有数据库包装器的 PHP 记录 mysql 查询
【发布时间】:2018-08-20 07:21:54
【问题描述】:

在我的例子中,Mysqli php 扩展用于访问 mysql 服务器。 这是一个 WordPress 网站,但最近许多插件从使用 wpdb 包装器切换,因为其他插件正试图通过钩子来操纵查询。

我需要记录选定用户的查询。我相信这只能通过使用 php 过滤和记录查询来实现。

在调用mysqli_query()之前或之后是否可以在php中获取查询?

P.S:我正在寻找通用解决方案,所以我可以在我的插件中实现它。

【问题讨论】:

  • MySQL 提供日志所有常规查询,只需在 my.ini 中的mysqld 部分下设置general_log = 1general_log_file = absolute/path/file.log
  • 您可以扩展mysqli类并重载mysqli_query()方法。

标签: php mysql wordpress logging mysqli


【解决方案1】:

不,使用原始 PHP 是不可能的。

您始终可以编写自己的数据库包装器并在您的插件中使用它。甚至鼓励您这样做,因为原始 mysqli 作为对 Mysql C API 的精简包装器,几乎无法按原样使用,并且无论如何都必须包装在帮助程序库中。

【讨论】:

  • 这里不能使用包装器。我需要跟踪其他插件查询。
猜你喜欢
  • 2015-09-10
  • 1970-01-01
  • 1970-01-01
  • 2017-08-01
  • 2017-03-07
  • 1970-01-01
  • 2017-03-27
  • 2012-03-06
  • 2012-06-05
相关资源
最近更新 更多