在 PHP 中,使用內(nèi)置的 HTTP 服務(wù)器(如 PHP 5.4+ 的內(nèi)置 Web 服務(wù)器)并不直接提供日志記錄功能
log.php
的文件,用于處理日志記錄:<?php
// log.php
$logFile = 'server.log';
$requestMethod = $_SERVER['REQUEST_METHOD'];
$requestUri = $_SERVER['REQUEST_URI'];
// 將請(qǐng)求信息寫入日志文件
file_put_contents($logFile, "[$requestMethod] $requestUri" . PHP_EOL, FILE_APPEND);
router.php
的文件,用于路由請(qǐng)求到相應(yīng)的處理程序:<?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';
}
創(chuàng)建一些示例處理程序文件,如 index.php
和 api_data.php
。
在命令行中啟動(dòng) PHP 內(nèi)置 Web 服務(wù)器,并將 router.php
作為默認(rèn)入口文件:
php -S localhost:8000 router.php
現(xiàn)在,每當(dāng)有請(qǐng)求發(fā)送到服務(wù)器時(shí),log.php
都會(huì)將請(qǐng)求方法和請(qǐng)求 URI 記錄到 server.log
文件中。你可以根據(jù)需要修改 log.php
以記錄更多詳細(xì)信息或自定義日志格式。