温馨提示×

php httpserver的日志记录功能如何实现

PHP
小樊
86
2024-08-28 17:10:38
栏目: 编程语言
亿速云云数据库,读写分离,安全稳定,弹性扩容,低至0.3元/天!! 点击查看>>

在 PHP 中,使用内置的 HTTP 服务器(如 PHP 5.4+ 的内置 Web 服务器)并不直接提供日志记录功能

  1. 创建一个名为 log.php 的文件,用于处理日志记录:
<?php
// log.php

$logFile = 'server.log';
$requestMethod = $_SERVER['REQUEST_METHOD'];
$requestUri = $_SERVER['REQUEST_URI'];

// 将请求信息写入日志文件
file_put_contents($logFile, "[$requestMethod] $requestUri" . PHP_EOL, FILE_APPEND);
  1. 创建一个名为 router.php 的文件,用于路由请求到相应的处理程序:
<?php
// router.php

require 'log.php';

$path = $_SERVER['PATH_INFO'] ?? '/';

switch ($path) {
    case '/':
        require 'index.php';
        break;
    case '/api/data':
        require 'api_data.php';
        break;
    default:
        http_response_code(404);
        echo 'Not Found';
}
  1. 创建一些示例处理程序文件,如 index.phpapi_data.php

  2. 在命令行中启动 PHP 内置 Web 服务器,并将 router.php 作为默认入口文件:

php -S localhost:8000 router.php

现在,每当有请求发送到服务器时,log.php 都会将请求方法和请求 URI 记录到 server.log 文件中。你可以根据需要修改 log.php 以记录更多详细信息或自定义日志格式。

亿速云「云数据库 MySQL」免部署即开即用,比自行安装部署数据库高出1倍以上的性能,双节点冗余防止单节点故障,数据自动定期备份随时恢复。点击查看>>

推荐阅读:php如何实现即时通讯

0