php日志完成请求

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php日志完成请求相关的知识,希望对你有一定的参考价值。

是否可以使用php记录请求?我还想记录图像,js,css文件请求。

<img src="foo.png">
<link rel="stylesheet" href="foo.css">

我目前使用这个代码,但它只给我当前的请求uri而不是其他文件等。我还重写了我的index.php的所有请求,我有这行代码。

file_put_contents('foo.txt', $_SERVER['REQUEST_URI'] . PHP_EOL, FILE_APPEND | LOCK_EX);
答案

是的。您可以通过php脚本传递所有请求,以便您可以记录操作。例如,像http://url.com/img.jpg这样的简单图像请求将成为http://url.com/index.php?action=download&file=img.jpg,脚本将处理日志记录,文件下载和正确的标题。

还要考虑到您的http服务器可能已经记录了请求,如果您正在使用它,请查看apache的access_log

另一答案

以下是将所有http请求绘制到文件的一个选项。这适用于使用HTTP协议传输的所有请求

$myFile = "requestslog.txt";
    $fh = fopen($myFile, 'a') or die("can't open file");
    fwrite($fh, "

--------------------------------------
        -------------------------
");
    foreach($_SERVER as $h=>$v)
        if(ereg('HTTP_(.+)',$h,$hp))
            fwrite($fh, "$h = $v
");
    fwrite($fh, "
");
    fwrite($fh, file_get_contents('php://input'));
    fclose($fh);
    echo "<html><head /><body><iframe src="$myFile" 
        style="height:100%; width:100%;"></iframe></body></html>"
另一答案
// Reports all errors
error_reporting(E_ALL);
// Do not display errors for the end-users (security issue)
ini_set('display_errors','Off');
// Set a logging file
ini_set('error_log','request_log_file.log');

注意 - request_log_file.log - 如果需要,您可以在此处设置完整文件路径。

希望对你有帮助!

以上是关于php日志完成请求的主要内容,如果未能解决你的问题,请参考以下文章

运行/调试你的PHP代码

使用PHP中的curl发送请求

项目进展日志5

argparse 代码片段只打印部分日志

常用python日期日志获取内容循环的代码片段

转:PHP中的使用curl发送请求(GET请求和POST请求)