Kaynağa Gözat

workermand add PHP_OS PHP_VERSION check

walkor 12 yıl önce
ebeveyn
işleme
71fc437fb1
1 değiştirilmiş dosya ile 14 ekleme ve 3 silme
  1. 14 3
      bin/workermand

+ 14 - 3
bin/workermand

@@ -7,7 +7,7 @@ date_default_timezone_set('Asia/Shanghai');
 
 if(empty($argv[1]))
 {
-    echo "Usage: serverd {start|stop|restart|reload|kill|status}\n";
+    echo "Usage: serverd {start|stop|restart|reload|kill|status}".PHP_EOL;
     exit;
 }
 
@@ -17,6 +17,19 @@ define('WORKERMAN_ROOT_DIR', realpath(__DIR__."/../")."/");
 
 chdir(WORKERMAN_ROOT_DIR);
 
+require_once WORKERMAN_ROOT_DIR . "man/Core/Master.php";
+
+if(0 === strpos('win', strtolower(PHP_OS)))
+{
+    exit(Man\Core\Master::NAME . " can not run on Windows system\n");
+}
+
+if (!version_compare(PHP_VERSION, '5.3.0', '>='))
+{
+    exit(Man\Core\Master::NAME . ' PHP >= 5.3.0 required.' . PHP_EOL);
+}
+
+
 // ==pid-file==
 require_once WORKERMAN_ROOT_DIR . 'man/Core/Lib/Config.php';
 Man\Core\Lib\Config::instance();
@@ -47,8 +60,6 @@ if(!($shm_size = Man\Core\Lib\Config::get('workerman.shm_size')))
 }
 define('DEFAULT_SHM_SIZE', $shm_size);
 
-require_once WORKERMAN_ROOT_DIR . "man/Core/Master.php";
-
 //检查pid对应的进程是否存在,不存在删除PID文件
 if($cmd != 'status' && is_file(WORKERMAN_PID_FILE))
 {