要求(workerman >= 3.2.7) 说明: string Worker::$protocol 设置当前Worker实例的协议类。 注:协议处理类可以直接在初始化Worker在监听参数时直接指定。例如 $worker = new Worker('http://0.0.0.0:8686'); 范例 use WorkermanWorker; require_once __DIR__ . '/W
要求(workerman >= 3.2.1 并且 PHP>=7.0) 说明: bool Worker::$reusePort 设置当前worker是否开启监听端口复用(socket的SO_REUSEPORT选项),默认为false,不开启。 开启监听端口复用后允许多个无亲缘关系的进程监听相同的端口,并且由系统内核做负载均衡,决定将socket连接交给哪个进程处理,避免了惊群效应,可以提升多进程短连
说明: static Event Worker::$globalEvent 此属性为全局静态属性,为全局的eventloop实例,可以向其注册文件描述符的读写事件或者信号事件。 范例 use WorkermanWorker; use WorkermanEventsEventInterface; require_once __DIR__ . '/Workerman/Autoloader.php';
说明: static string Worker::$logFile 用来指定workerman日志文件位置。 此文件记录了workerman自身相关的日志,包括启动、停止等。 如果没有设置,文件名默认为workerman.log,文件位置位于Workerman的上一级目录中。 注意: 这个日志文件中仅仅记录workerman自身相关的日志,不包含任何业务日志。 范例 use WorkermanW
说明: static string Worker::$pidFile 如果无特殊需要,建议不要设置此属性 此属性为全局静态属性,用来设置WorkerMan进程的pid文件路径。 此项设置在监控中比较有用,例如将WorkerMan的pid文件放入固定的目录中,可以方便一些监控软件读取pid文件,从而监控WorkerMan进程状态。 如果不设置,WorkerMan默认会在与Workerman目录平行的
说明: static string Worker::$stdoutFile 此属性为全局静态属性,如果以守护进程方式(-d启动)运行,则所有向终端的输出(echo var_dump等)都会被重定向到stdoutFile指定的文件中。 如果不设置,并且是以守护进程方式运行,则所有终端输出全部重定向到/dev/null 范例 use WorkermanWorker; require_once __DI
说明: static bool Worker::$daemonize 此属性为全局静态属性,表示是否以daemon(守护进程)方式运行。如果启动命令使用了 -d参数,则该属性会自动设置为true。也可以代码中手动设置。 范例 use WorkermanWorker; require_once __DIR__ . '/Workerman/Autoloader.php'; Worker::$daemo
说明: array Worker::$connections 格式为 array(id=>connection, id=>connection, ...) 此属性中存储了当前进程的所有的客户端连接对象,其中id为connection的id编号,详情见手册TcpConnection的id属性。 $connections 在广播时或者根据连接id获得连接对象非常有用。 如果得知connection的编
说明: string Worker::$transport 设置当前Worker实例所使用的传输层协议,目前只支持3种(tcp、udp、ssl)。不设置默认为tcp。 注意:ssl需要Workerman版本>=3.3.7 范例 1 use WorkermanWorker; require_once __DIR__ . '/Workerman/Autoloader.php'; $worker = n
说明: bool Worker::$reloadable 设置当前Worker实例是否可以reload,即收到reload信号后是否退出重启。不设置默认为true,收到reload信号后自动重启进程。 有些进程维持着客户端连接,例如Gateway/Worker模型中的gateway进程,当运行reload重新载入业务代码时,却又不想客户端连接断开,则设置gateway进程的reloadable属性
说明: string Worker::$user 设置当前Worker实例以哪个用户运行。此属性只有当前用户为root时才能生效。不设置时默认以当前用户运行。 建议$user设置权限较低的用户,例如www-data、apache、nobody等。 范例 use WorkermanWorker; require_once __DIR__ . '/Workerman/Autoloader.php';
说明: string Worker::$name 设置当前Worker实例的名称,方便运行status命令时识别进程。不设置时默认为none。 范例 use WorkermanWorker; require_once __DIR__ . '/Workerman/Autoloader.php'; $worker = new Worker('websocket://0.0.0.0:8484'); //
说明: int Worker::$count 设置当前Worker实例启动多少个进程,不设置时默认为1。 如何设置进程数,请参考这里 。 范例 use WorkermanWorker; require_once __DIR__ . '/Workerman/Autoloader.php'; $worker = new Worker('websocket://0.0.0.0:8484'); // 启动
要求(workerman >= 3.2.1) 说明: int Worker::$id 当前worker进程的id编号,范围为0到$worker->count-1。 这个属性对于区分worker进程非常有用,例如1个worker实例有多个进程,开发者只想在其中一个进程中设置定时器,则可以通过识别进程编号id来做到这一点,比如只在该worker实例id编号为0的进程设置定时器(见范例)。 注意: 进程
本文包括: 概览 依赖属性 Introduction Declaring a dependency property Adding a changed callback Adding a validation callback Creating an inheritable dependency property 样式属性 Introduction Setting a style property