start.php 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <?php
  2. /**
  3. * run with command
  4. * php start.php start
  5. */
  6. ini_set('display_errors', 'on');
  7. use Workerman\Worker;
  8. if(strpos(strtolower(PHP_OS), 'win') === 0)
  9. {
  10. exit("start.php not support windows, please use start_for_win.bat\n");
  11. }
  12. // 检查扩展
  13. if(!extension_loaded('pcntl'))
  14. {
  15. exit("Please install pcntl extension. See http://doc3.workerman.net/appendices/install-extension.html\n");
  16. }
  17. if(!extension_loaded('posix'))
  18. {
  19. exit("Please install posix extension. See http://doc3.workerman.net/appendices/install-extension.html\n");
  20. }
  21. // 标记是全局启动
  22. define('GLOBAL_START', 1);
  23. require_once __DIR__ . '/config/config.php';
  24. require_once __DIR__ . '/vendor/autoload.php';
  25. defined('IN_WEB') or define('IN_WEB', true);
  26. define('WWWROOT', dirname(__FILE__).'/');
  27. require_once WWWROOT . 'core.php';
  28. define( 'PATH_CFG', WWWROOT . 'config/'.$config['sidlist'][1].$isTset.'/');
  29. require_once PATH_CFG . 'config.inc.php';
  30. oo::setConfig( $config); //设置全局变量
  31. // 加载所有配置文件,以便启动服务
  32. //foreach(glob(__DIR__.'/GatewayWorker/Config/*.php') as $start_file){
  33. // require_once $start_file;
  34. //}
  35. // 加载所有Applications/*/start.php,以便启动所有服务
  36. foreach(glob(__DIR__.'/GatewayWorker/*/start*.php') as $start_file)
  37. {
  38. require_once $start_file;
  39. }
  40. Worker::$stdoutFile = __DIR__ . '/deBUG/gatewayWorker.txt';
  41. // 运行所有服务
  42. Worker::runAll();