webserver php实现
使用PHP实现Web服务器
PHP内置了一个开发服务器,适合本地测试和开发环境使用。通过命令行启动,无需额外配置。
启动内置服务器:
php -S localhost:8000
默认监听8000端口,将当前目录作为根目录。访问http://localhost:8000即可。
配置自定义路由
在项目根目录创建router.php文件处理自定义路由:
if (preg_match('/\.(?:png|jpg|jpeg|gif|css|js)$/', $_SERVER["REQUEST_URI"])) {
return false; // 直接返回请求的文件
} else {
include __DIR__ . '/index.php'; // 其他请求交给主入口文件
}
启动时指定路由文件:
php -S localhost:8000 router.php
使用PHP创建简单HTTP服务器
通过socket编程实现基础HTTP服务器:
$host = '127.0.0.1';
$port = 8080;
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_bind($socket, $host, $port);
socket_listen($socket);
while (true) {
$client = socket_accept($socket);
$request = socket_read($client, 1024);
$response = "HTTP/1.1 200 OK\r\n";
$response .= "Content-Type: text/html\r\n\r\n";
$response .= "<h1>Hello from PHP Server</h1>";
socket_write($client, $response);
socket_close($client);
}
集成数据库连接
添加MySQL数据库支持:
$db = new mysqli('localhost', 'username', 'password', 'database');
if ($db->connect_error) {
die("Connection failed: " . $db->connect_error);
}
$result = $db->query("SELECT * FROM users");
while ($row = $result->fetch_assoc()) {
echo $row['username'];
}
部署到生产环境
生产环境建议使用专业服务器软件:
- Apache:通过mod_php或PHP-FPM运行
- Nginx:搭配PHP-FPM使用
- 配置示例(Nginx):
location ~ \.php$ { fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; }
性能优化建议
启用OPcache加速PHP执行:
opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=4000
使用Composer管理依赖:
composer require monolog/monolog






