不知标题表达是否到位,就是想问有没有现成的包可以提供这样的功能:记录下从接收请求到做出响应的过程中,所有被执行的 SQL 语句以及执行时间等情况,类似 WordPress 中常见的。WordPrss 是通过钩子实现的,没有钩子机制可能做到这个吗?
我对 PHP 不熟,写的程序没有用框架,框架中估计会有这样的功能设计,不知有无独立的包可以灵活引入使用,并实现这样的功能?
1
feiyuanqiu 2018-06-24 20:01:21 +08:00
clockwork https://github.com/itsgoingd/clockwork
|
2
helloiac OP @feiyuanqiu 谢谢!这个够用了。
|
3
changwei 2018-06-24 20:49:24 +08:00 via Android
直接用 general_log 最好
|
4
zjsxwc 2018-06-25 10:02:23 +08:00
主流的 orm 都有吧,我用 doctrine 可以
|
5
helloiac OP @changwei 谢谢!我想有个能便捷地在页面查看,从而方便跟踪、调试的工具,general_log 这个看了下有点不方便,要切换窗口,且不容易界定日志行归属的执行页面。应该也不容易集成到 PHP 程序中吧?
附言里贴了个图片,不能显示,放这里辅助说明一下。 === Wordpress 用 query monitor 插件后的是这样的,如果有类似的方便实用的最好了。 顶部工具条: ![20180625150820.png]( https://i.loli.net/2018/06/25/5b309514f076d.png) 查询的情况: ![20180625150615.png]( https://i.loli.net/2018/06/25/5b3094986deb3.png) |
7
zjsxwc 2018-06-25 16:22:14 +08:00
@helloiac
看了下,doctrine 的 dbal 层,提供了 logger ( Doctrine\DBAL\Logging\DebugStack ),在配置 dbal 后把这个 logger 提供给 doctrine,然后在你页面结束时,通过这个 logger 对象的 queries 属性获取调用的 sql 记录等 参考: http://srcmvn.com/blog/2011/11/10/doctrine-dbal-query-logging-with-monolog-in-silex |