在 PHP 中,使用內置的 HTTP 服務器(如 PHP 5.4+ 的內置 Web 服務器)并不直接提供日志記錄功能
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);
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';
}
創建一些示例處理程序文件,如 index.php
和 api_data.php
。
在命令行中啟動 PHP 內置 Web 服務器,并將 router.php
作為默認入口文件:
php -S localhost:8000 router.php
現在,每當有請求發送到服務器時,log.php
都會將請求方法和請求 URI 記錄到 server.log
文件中。你可以根據需要修改 log.php
以記錄更多詳細信息或自定義日志格式。