我正在尝试创建一个插件,将用户的http请求记录到数据库中。到目前为止,我已经通过将我的函数挂钩到init函数来记录了对php文件的请求。但现在我想知道我是否也可以记录图像,文档等文件的请求。有人请求文件时是否执行了任何PHP代码?谢谢。
答案 0 :(得分:0)
不是默认情况下,不是。正常的mod_rewrite规则(不要与WP自己的重写规则混淆)Wordpress使用专门排除任何现有文件,如图像,CSS或JavaScript文件。这些将由Apache直接处理。
你显然可以添加一个在每个请求上运行的自定义脚本,记录对数据库的访问,读取这些文件并将其内容打印到客户端,但这会花费相当大的成本,我很害怕。 Apache虽然不是最快的网络服务器,但是在向客户端提供文件方面要比运行php脚本,设置数据库连接,记录等pp更快,更快。
您可以获得更高的服务器负载,并且可能会显着降低页面加载速度。
相反,我建议您解析访问日志。它们很可能包含您正在寻找的所有数据,如果您有权访问配置,则可以添加客户端发送的特定标头。您可以使用每天运行一次的cronjob轻松完成此操作,甚至不必在同一台服务器上运行。