Как инициализировать несколько Worker в операционной системе Windows

В операционной системе Windows невозможно инициализировать несколько Worker в одном php файле,

например, в следующем test.php

<?php
...
$socket_server = new Worker("tcp://0.0.0.0:5555");
$socket_server->on....
$websocket_server = new Worker("websocket://0.0.0.0:6666");
$websocket_server->on....
$webserver = new WebServer("http://0.0.0.0:6666");
$webserver->addRoot(...
...

При запуске в Windows возникнет ошибка

multi workers init in one php file are not support

Способ решения

Способ решения заключается в использовании нескольких скриптов для запуска, каждый скрипт инициализирует один Worker, или, другими словами, для каждого порта нужен отдельный файл запуска.

Предположим, необходимо инициализировать два экземпляра Worker (tcp и websocket) и один экземпляр WebServer, тогда нужно создать три файла для запуска: start_socket_server.php, start_websocket_server.php, start_webserver.php.

Например:

Файл start_socket_server.php

...
$socket_server = new Worker("tcp://0.0.0.0:5555");
$socket_server->on....
....

Файл start_websocket_server.php

...
$websocket_server = new Worker("websocket://0.0.0.0:6666");
$websocket_server->on....
 ...

Файл start_webserver.php

...
$webserver = new WebServer("http://0.0.0.0:6666");
$webserver->addRoot(...
 ...

При запуске можно сделать так, просто запустив три скрипта (в командной строке windows)

   php start_socket_server.php start_websocket_server.php start_webserver.php