# swoole_server属性列表 --- [TOC=2,3] --- ## **1.setting** [`swoole_server::set()`](server/function.md)函数所设置的参数会保存到`swoole_server::$setting`属性上,可以直接根据键值访问对应的配置项。<br> 所有配置参数[点击查看](server/set.md)。<br> > 在swoole-1.6.11+可用 示例:<br> ```php echo $serv->setting['worker_num']; ``` ## **2.master_pid** 当前服务器主进程的操作系统进程ID,只能在onStart/onWorkerStart之后获取到。<br> 示例:<br> ```php echo $serv->master_pid; ``` ## **3.manager_pid** 当前服务器管理进程的操作系统进程ID,只能在onStart/onWorkerStart之后获取到。<br> 示例:<br> ```php echo $serv->manager_pid; ``` ## **4.worker_id** 当前Worker的编号ID,这个属性与onWorkerStart时的$worker_id是相同的,只能在onWorkerStart之后获取到。 示例:<br> ```php echo $serv->worker_id; ``` ## **5.worker_pid** 前Worker进程的操作系统进程ID。<br> > 与posix_getpid()的返回值相同 示例:<br> ```php echo $serv->worker_pid; ``` ## **6.taskworker** 布尔类型 * true表示当前的进程是Task工作进程 * false表示当前的进程是Worker进程 示例: ```php var_dump($serv->taskworker); ``` >此属性在swoole-1.7.15以上版本可用 ## **7.connections** TCP连接迭代器,可以使用foreach遍历服务器当前所有的连接,此属性的功能与swoole_server->connnection_list是一致的,但是更加友好。遍历的元素为单个连接的fd。 注意$connections属性是一个迭代器对象,不是PHP数组,所以不能用var_dump或者数组下标来访问,只能通过foreach进行遍历操作。 ~~~ foreach($server->connections as $fd) { $server->send($fd, "hello"); } echo "当前服务器共有 ".count($server->connections). " 个连接\n"; ~~~ >此属性在1.7.16以上版本可用 >连接迭代器依赖pcre库(不是PHP的pcre扩展),未安装pcre库无法使用此功能 >pcre库的安装方法, http://wiki.swoole.com/wiki/page/312.html