$configPath = dirname(dirname(SWOOLEBASEPATH)) . '/conf/' . $name . '.ini'; //获取配置地址 // $config is file path? 提前读取 只读一次 if (!file_exists($configPath)) { throw new \Exception("[error] profiles [{$configPath}] can not be loaded"); } // Load the configuration file into an array $config = parse_ini_file($configPath, true); //根据config里面的不同内容启动不同的server 定义网络层 UDP、TCP if ($config['server']['type'] == 'http') { // $server = new \Swoole\Network\HttpServer(); } elseif ($config['server']['type'] == 'tcp') { $server = new \Swoole\Network\TcpServer(); } elseif ($config['server']['type'] == 'udp') { $server = new \Swoole\Network\UdpServer(); } //合并config 只读一次 $server->config = array_merge($server->config, $config); //通过root 来获取所有的源码 //获取index一次 加载tsf框架 //获取配置 载入index //index require //$server->serverClass='testHttpServ'; $server->setProcessName($name); //$server->setProcessName('mark_server'); //root为index的路径 $server->setRequire($config['server']['root']); //源码加载器 //$server->setRequire(BASEPATH . '/src/require.php'); // 启动 此时已经读到了root
#!/usr/local/php/bin/php -q <?php // 定义根目录 define('BASEPATH', dirname(dirname(__FILE__))); // 载入Swoole 框架 require_once BASEPATH . '/lib/Swoole/require.php'; // 定义网络层 UDP、TCP $server = new \Swoole\Network\UdpServer(); // 加载配置文件 $server->loadConfig(__DIR__ . '/testUdpServ.ini'); // 源码加载器 $server->setRequire(BASEPATH . '/src/require.php'); // 启动 $server->run();