server.php 907 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. require_once __DIR__.'/vendor/autoload.php';
  3. use Adapterman\Adapterman;
  4. use Workerman\Lib\Timer;
  5. use Workerman\Worker;
  6. Adapterman::init();
  7. $http_worker = new Worker('http://0.0.0.0:8080');
  8. $http_worker->count = (int) shell_exec('nproc') * 4;
  9. $http_worker->name = 'AdapterMan-CakePHP';
  10. $http_worker->onWorkerStart = static function () {
  11. HeaderDate::init();
  12. require __DIR__.'/start.php';
  13. };
  14. $http_worker->onMessage = static function ($connection) {
  15. $connection->send(run());
  16. };
  17. Worker::runAll();
  18. class HeaderDate
  19. {
  20. const NAME = 'Date: ';
  21. /**
  22. * Date header
  23. *
  24. * @var string
  25. */
  26. public static $date;
  27. public static function init(): void
  28. {
  29. self::$date = self::NAME.gmdate('D, d M Y H:i:s').' GMT';
  30. Timer::add(1, static function () {
  31. self::$date = self::NAME.gmdate('D, d M Y H:i:s').' GMT';
  32. });
  33. }
  34. }