我经常面临以下情况;我正在开发一个以PHP为基础的现有系统,它实际上是相当多的,它通常由许多代码组成。现在我必须扩展一些功能,调试一些东西,并且需要知道系统如何与MySQL-DB交互。哪些请求按什么顺序执行。如何拦截DB请求? (MySQL)
如何截取所有查询?对于数据库来说就像xdebug_start_trace。
编辑:没有DB请求的集中处理。你可以在那里找到各种请求。所以我的问题是针对一些日志功能。基本上这应该存在,因为像这样的东西可能是有用的常识。
编辑2:马里奥建议的解决方案,这取决于重新启动mysql-deamon ...不能做。更多建议?
是否有一个类可以处理所有的MySQL数据库连接? – 2011-02-04 13:19:15
我怀疑它可以使用原始API函数在遗留代码上完成。 – 2011-02-04 13:25:43
如果现有代码直接使用mysql_query(),则最后一个选项将尝试runkit_function_rename()并定义拦截所有调用的包装函数。或者更糟糕的选择:通过netcat | tee | netcat运行套接字或使用网络嗅探器。 – mario 2011-02-04 13:27:46