swoole內置Http服務器的支持。swoole版的http server相對于php-fpm,最大優勢在于高性能:代碼一次載入內存,后續無需再解釋執行。缺點是調試沒有nginx+php-fpm方便。
使用swoole,通過幾行代碼即可寫出一個異步非阻塞多進程的Http服務器:
``` php
<?php
$serv = new swoole_http_server("0.0.0.0", 9502);
$serv->on('Start', function() {
echo 'Start';
});
$serv->on('Request', function($request, $response) {
var_dump($request->get);
var_dump($request->post);
var_dump($request->cookie);
var_dump($request->files);
var_dump($request->header);
var_dump($request->server);
$response->cookie("User", "Swoole");
$response->header("X-Server", "Swoole");
$response->end("<h1>Hello Swoole!</h1>");
});
$serv->start();
```
shell里使用`php swoole_http_server.php`運行server。瀏覽器打開http://192.168.1.107:9502/即可看到輸出。