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();