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日志完成请求的主要内容,如果未能解决你的问题,请参考以下文章