Beispiel #1
0
$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();