curl -Ss http://www.workerman.net/check.php | php
workerman依賴擴展:pcntl擴展、posix擴展、Event擴展或libevent擴展。Event擴展能顯著提升workerman在高併發鏈接時CPU利用率php
workerman基於php命令行模式運行,所以workerman的啓動與中止有如下方式:
---- 啓動:linux
---- 中止:php server.php stop
---- 重啓:php server.php restart
---- 平滑重啓:php server.php reload
---- 查看狀態:php server.php status
---- 查看鏈接狀態:php server.php connectionsweb
不要使用exit、die出語句,這樣會致使進程退出redis
引入文件建議使用require_once或include_once數據庫
長鏈接應用必須加 心跳,不然可能由於長時間不活躍而被路由節點防火牆斷開併發
只有在on{...}回調中載入的文件平滑重啓後纔會自動更新,啓動腳本中直接載入的文件或者寫死的代碼運行reload不會自動更新(好比在腳本中require_once或include_once的文件)app
通常來講在Worker::runAll();調用前運行的代碼都是在主進程運行的,onXXX回調運行的代碼都屬於子進程。注意寫在Worker::runAll();後面的代碼永遠不會被執行。代碼:curl
require_once __DIR__ . '/Workerman/Autoloader.php'; use Workerman\Worker; // 運行在主進程 $tcp_worker = new Worker("tcp://0.0.0.0:2347"); // 賦值過程運行在主進程 $tcp_worker->onMessage = function($connection, $data) { // 這部分運行在子進程 $connection->send('hello ' . $data); }; Worker::runAll();