配置文件

所有的配置均在 Conf/Config.php 中以数组的形式表现。配置分为系统配置(sysConf)和用户自定义配置(userConf)两种。

系统配置项

  1. array(
  2. "SERVER"=>array(
  3. "LISTEN"=>"0.0.0.0",
  4. "SERVER_NAME"=>"",
  5. "PORT"=>9501,
  6. "RUN_MODE"=>SWOOLE_PROCESS,//不建议更改此项
  7. "SERVER_TYPE"=>\Core\Swoole\Config::SERVER_TYPE_WEB,//
  8. 'SOCKET_TYPE'=>SWOOLE_TCP,//当SERVER_TYPE为SERVER_TYPE_SERVER模式时有效
  9. "CONFIG"=>array(
  10. 'task_worker_num' => 8, //异步任务进程
  11. "task_max_request"=>10,
  12. 'max_request'=>5000,//强烈建议设置此配置项
  13. 'worker_num'=>8
  14. ),
  15. ),
  16. "DEBUG"=>array(
  17. "LOG"=>1,
  18. "DISPLAY_ERROR"=>1,
  19. "ENABLE"=>false,
  20. ),
  21. "CONTROLLER_POOL"=>true//web或web socket模式有效
  22. );

每个配置项的含义如下:

  • LISTEN, 配置 server 监听的 IP 地址。
  • SERVER_NAME, 为当前 server 配置一个名称。
  • PORT, 配置 Server 监听的端口
  • SERVER_TYPE,可选值为SERVER_TYPE_SERVER、SERVER_TYPE_WEB、SERVER_TYPE_WEB_SOCKET 。
  • CONFIG, 这个配置项为一个数组。为 swoole 扩展定义的配置,包括 worker 进程数、task 进程数等等配置。如果需要对 swoole 定义的配置进行设置,可以修改这个数组。更多 swoole 配置相关的内容见 swoole 文档
  • DEBUG[‘ENABLE’],是否开启 Debug 模式,当这个值为 false, 那么 DEBUG[‘LOG’] 和 DEBUG[‘DISPLAY_ERROR’] 配置无效。
  • CONTROLLER_POOL 开启控制器对象池模式

用户配置项

用户自定义配置可以在 Config/Config.php 中的 userConf 函数中添加。每个配置项以 key=>value 的形式添加。

获取配置项

运行中要获取/设置配置项请使用 Config::getInstance()->getConf() 和 Config::getInstance()->setConf()。getConf 和 setConf 都支持 . 操作,例如要获取到 PORT 的值,可以使用 Config::getInstance()->getConf(‘SERVER.PORT’) 来获取。

注意在服务启动后,setConf()仅仅对当前进程有效。