كيفية تهيئة عدة وكرات على نظام التشغيل ويندوز
لا يمكن على نظام التشغيل ويندوز تهيئة عدة وكرات داخل ملف 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(...
...
سيظهر خطأ عند التشغيل على نظام ويندوز
multi workers init in one php file are not support
الحل
الحل هو استخدام عدة سكربتات بدء، حيث يقوم كل سكربت بتهيئة وكر واحد، أو بعبارة أخرى، ملف بدء لكل منفذ.
افترض أنك تريد تهيئة مثالي وكر (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(...
...
عند التشغيل يمكنك فعل ذلك، مباشرة تشغيل السكربتات الثلاثة، (في سطر أوامر ويندوز يمكنك تشغيلها)
php start_socket_server.php start_websocket_server.php start_webserver.php