在 PHP 中,您可以使用內置的 HTTP 服務器來處理請求
server.php
,并添加以下代碼:<?php
$host = 'localhost';
$port = 8000;
// 創建一個 TCP 套接字
$socket = stream_socket_server("tcp://$host:$port", $errno, $errorMessage);
if ($socket === false) {
echo "Error: $errorMessage ($errno)";
} else {
echo "HTTP Server is listening on $host:$port...\n";
}
while ($conn = stream_socket_accept($socket)) {
// 讀取客戶端請求
$request = '';
while (false !== ($chunk = fread($conn, 4096))) {
$request .= $chunk;
}
// 解析請求
list($method, $uri, $httpVersion) = explode(' ', substr($request, 0, strpos($request, "\r\n")));
// 處理請求
switch ($uri) {
case '/':
$response = "Hello, World!";
break;
default:
$response = "Not Found";
break;
}
// 發送響應
$headers = "HTTP/1.1 200 OK\r\n" .
"Content-Type: text/html\r\n" .
"Connection: close\r\n" .
"Content-Length: " . strlen($response) . "\r\n" .
"\r\n";
fwrite($conn, $headers . $response);
fclose($conn);
}
這個簡單的 HTTP 服務器會監聽指定的主機和端口(在本例中為 localhost:8000)。當收到請求時,它會解析請求并根據請求的 URI 返回相應的響應。
php server.php
http://localhost:8000
,您將看到 “Hello, World!” 作為響應。請注意,這是一個非常基本的示例,僅用于演示目的。在生產環境中,您可能需要使用更強大的 Web 服務器(如 Nginx 或 Apache)和 PHP 框架(如 Laravel 或 Symfony)來處理請求。