捕获PHP中的mysql_查询函数以创建自定义触发器
我有一个巨大的PHP项目,它在很多文件中使用了捕获PHP中的mysql_查询函数以创建自定义触发器,php,mysql,triggers,analytics,Php,Mysql,Triggers,Analytics,我有一个巨大的PHP项目,它在很多文件中使用了mysql\u connect函数。 我的目标是检测PHP触发mysql_connect的次数。(来自本项目) 其想法是不要修改现有的项目文件,而是创建一些并行函数(触发器),只有当该项目在PHP中调用mysql\u connect时才会运行这些函数 有没有办法配置PHP在mysql\u connect上创建一些触发器?我的意思是,当PHP调用mysql\u connect时,这个触发器必须检测到这一点并并行运行另一个脚本,它将进行计数或其他操作 有
mysql\u connect
函数。
我的目标是检测PHP触发mysql_connect的次数。(来自本项目)
其想法是不要修改现有的项目文件,而是创建一些并行函数(触发器),只有当该项目在PHP中调用mysql\u connect
时才会运行这些函数
有没有办法配置PHP在mysql\u connect
上创建一些触发器?我的意思是,当PHP调用mysql\u connect时,这个触发器必须检测到这一点并并行运行另一个脚本,它将进行计数或其他操作
有什么想法吗?新连接上没有触发事件(此处至少没有列出:) 但是,您可以直接询问MySQL尝试了多少连接(成功与否) (有关更多状态信息,请参阅) 也许它还可以帮助您了解每个连接都有一个唯一的连接id,您可以通过该id进行检索
SELECT connection_id()
因此,如果您有一个由每个脚本查询的表,则触发器可以对该表上的操作作出反应,获取活动连接的连接id,并将其写入以前未记录的位置
请注意,如果MySQL服务器重新启动,则连接枚举将从一开始就开始。这也适用于MySQLs内部连接计数,您可以使用show status
检索该计数
但是,正如我已经提到的,我也会考虑在PHP方面解决这个问题。
重写并记录那些东西!(查看第一个用户提供的示例)谢谢,我将尝试此方法或尝试为此作业使用名称空间>,您可能可以为此使用Suhosin修补程序的日志功能。也许吧。我不认为问题是问mySQL触发器。我想他是在问当PHP做一些事情(比如连接到数据库)时触发脚本。在问题中选择“触发器”一词是不幸的,因为存在同名的mySQL功能,但阅读问题很明显,这不是他想要的。是的,也许你们是对的,我被错误的术语误导了。SELECT connection_id()