예제 #1
0
 /**
  * 初始化所有的worker实例,主要工作为获得格式化所需数据及监听端口
  * @return void
  */
 protected static function initWorkers()
 {
     foreach (self::$_workers as $worker) {
         // 没有设置worker名称,则使用none代替
         if (empty($worker->name)) {
             $worker->name = 'none';
         }
         // 获得所有worker名称中最大长度
         $worker_name_length = strlen($worker->name);
         if (self::$_maxWorkerNameLength < $worker_name_length) {
             self::$_maxWorkerNameLength = $worker_name_length;
         }
         // 获得所有_socketName中最大长度
         $socket_name_length = strlen($worker->getSocketName());
         if (self::$_maxSocketNameLength < $socket_name_length) {
             self::$_maxSocketNameLength = $socket_name_length;
         }
         $user_name_length = strlen($worker->user);
         if (self::$_maxUserNameLength < $user_name_length) {
             self::$_maxUserNameLength = $user_name_length;
         }
     }
 }
예제 #2
0
 /**
  * Init All worker instances.
  * @return void
  */
 protected static function initWorkers()
 {
     foreach (self::$_workers as $worker) {
         // Worker name.
         if (empty($worker->name)) {
             $worker->name = 'none';
         }
         // Get maximum length of worker name.
         $worker_name_length = strlen($worker->name);
         if (self::$_maxWorkerNameLength < $worker_name_length) {
             self::$_maxWorkerNameLength = $worker_name_length;
         }
         // Get maximum length of socket name.
         $socket_name_length = strlen($worker->getSocketName());
         if (self::$_maxSocketNameLength < $socket_name_length) {
             self::$_maxSocketNameLength = $socket_name_length;
         }
         // Get unix user of the worker process.
         if (empty($worker->user)) {
             $worker->user = self::getCurrentUser();
         } else {
             if (posix_getuid() !== 0 && $worker->user != self::getCurrentUser()) {
                 self::log('Waring: You must have the root privileges to change uid and gid.', true);
             }
         }
         // Get maximum length of unix user name.
         $user_name_length = strlen($worker->user);
         if (self::$_maxUserNameLength < $user_name_length) {
             self::$_maxUserNameLength = $user_name_length;
         }
         // Listen.
         if (!$worker->reusePort) {
             $worker->listen();
         }
     }
 }
예제 #3
0
파일: Worker.php 프로젝트: xqbumu/Workerman
 /**
  * 初始化所有的worker实例,主要工作为获得格式化所需数据及监听端口
  * @return void
  */
 protected static function initWorkers()
 {
     /** @var static $worker */
     foreach (self::$_workers as $worker) {
         // 没有设置worker名称,则使用none代替
         if (empty($worker->name)) {
             $worker->name = 'none';
         }
         // 获得所有worker名称中最大长度
         $worker_name_length = strlen($worker->name);
         if (self::$_maxWorkerNameLength < $worker_name_length) {
             self::$_maxWorkerNameLength = $worker_name_length;
         }
         // 获得所有_socketName中最大长度
         $socket_name_length = strlen($worker->getSocketName());
         if (self::$_maxSocketNameLength < $socket_name_length) {
             self::$_maxSocketNameLength = $socket_name_length;
         }
         // 获得运行用户名的最大长度
         if (empty($worker->user)) {
             $worker->user = self::getCurrentUser();
         }
         $user_name_length = strlen($worker->user);
         if (self::$_maxUserNameLength < $user_name_length) {
             self::$_maxUserNameLength = $user_name_length;
         }
         // 如果端口不可复用,则直接在主进程就监听
         if (!$worker->reusePort) {
             // 监听端口
             $worker->listen();
         }
     }
 }
예제 #4
0
 /**
  * 初始化所有的worker实例,主要工作为获得格式化所需数据及监听端口
  * @return void
  */
 protected static function initWorkers()
 {
     foreach (self::$_workers as $worker) {
         // 没有设置worker名称,则使用none代替
         if (empty($worker->name)) {
             $worker->name = 'none';
         }
         // 获得所有worker名称中最大长度
         $worker_name_length = strlen($worker->name);
         if (self::$_maxWorkerNameLength < $worker_name_length) {
             self::$_maxWorkerNameLength = $worker_name_length;
         }
         // 获得所有_socketName中最大长度
         $socket_name_length = strlen($worker->getSocketName());
         if (self::$_maxSocketNameLength < $socket_name_length) {
             self::$_maxSocketNameLength = $socket_name_length;
         }
         // 获得运行用户名的最大长度
         if (empty($worker->user) || posix_getuid() !== 0) {
             $worker->user = self::getCurrentUser();
         }
         $user_name_length = strlen($worker->user);
         if (self::$_maxUserNameLength < $user_name_length) {
             self::$_maxUserNameLength = $user_name_length;
         }
         // 监听端口
         $worker->listen();
     }
 }
예제 #5
0
파일: Worker.php 프로젝트: dryyun/Workerman
 /**
  * 初始化所有的worker实例,主要工作为获得格式化所需数据及监听端口
  * @return void
  */
 protected static function initWorkers()
 {
     /** @var static $worker */
     foreach (self::$_workers as $worker) {
         // 没有设置worker名称,则使用none代替
         if (empty($worker->name)) {
             $worker->name = 'none';
         }
         // 获得所有worker名称中最大长度
         $worker_name_length = strlen($worker->name);
         if (self::$_maxWorkerNameLength < $worker_name_length) {
             self::$_maxWorkerNameLength = $worker_name_length;
         }
         // 获得所有_socketName中最大长度
         $socket_name_length = strlen($worker->getSocketName());
         if (self::$_maxSocketNameLength < $socket_name_length) {
             self::$_maxSocketNameLength = $socket_name_length;
         }
         // 获得运行用户名的最大长度
         if (empty($worker->user)) {
             $worker->user = self::getCurrentUser();
         } else {
             if (posix_getuid() !== 0 && $worker->user != self::getCurrentUser()) {
                 self::log('Waring: You must have the root privileges to change uid and gid.', true);
             }
         }
         $user_name_length = strlen($worker->user);
         if (self::$_maxUserNameLength < $user_name_length) {
             self::$_maxUserNameLength = $user_name_length;
         }
         // 如果端口不可复用,则直接在主进程就监听
         if (!$worker->reusePort) {
             // 监听端口
             $worker->listen();
         }
     }
 }