我正在尝试开发非常简单的PHP应用程序,它将整个HTTP输入和输出透明地记录到文件中。
我使用auto_prepend_file
指令来运行我的应用程序,我也在其中使用register_shutdown_function()
来捕捉分析脚本完成的时刻。
我遇到的一个问题是捕获整个脚本输出。我想我不能使用ob_start()
或ob_get_clean()
,因为我不知道是否使用直接输出分析了脚本。实际上我不知道分析脚本会做什么,因为我要记录任何请求和任何答案,我不想影响分析的网站甚至一点点。
如何在不影响其功能的情况下透明地捕获任何 PHP脚本输出?
答案 0 :(得分:0)
您是否愿意考虑从PHP端运行的选项? tcpdump
和tcpflow
都可以像您在此处描述的那样转储TCP流量。我不确定这对你是否有用,但是在PHP中从每个请求中转储整个请求和响应并不是一个非常好的生产解决方案,所以这让我觉得你很难。重新调试见解,所以tcpdump可以做到这一点。
答案 1 :(得分:0)
您可以使用Wireshark轻松完成此操作而无需开发php应用程序。
答案 2 :(得分:0)
谢谢大家,我尝试过使用ob_start()
和ob_get_clean()
,这对夫妇效果很好。在监控应用程序中没有丢失任何功能(但它是非常庞大的应用程序)。