server.php 693 B

123456789101112131415161718192021222324252627
  1. <?php
  2. use React\EventLoop\Loop;
  3. use React\Http\HttpServer;
  4. use React\Socket\SocketServer;
  5. require __DIR__ . '/vendor/autoload.php';
  6. require_once __DIR__.'/app.php';
  7. $server = new HttpServer(requestHandler());
  8. $socket = new SocketServer('0.0.0.0:8080');
  9. $server->listen($socket);
  10. echo "React Server running at http://0.0.0.0:8080\n";
  11. echo "EventLoop: ", Loop::get()::class, "\n";
  12. $interrupt = static function () use ($server, $socket, &$interrupt): void {
  13. echo 'Interrupting server', PHP_EOL;
  14. $socket->close();
  15. Loop::removeSignal(SIGINT, $interrupt);
  16. Loop::removeSignal(SIGTERM, $interrupt);
  17. };
  18. Loop::addSignal(SIGINT, $interrupt);
  19. Loop::addSignal(SIGTERM, $interrupt);