webim_server.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. define('DEBUG', 'on');
  3. define('WEBPATH', __DIR__);
  4. define('ROOT_PATH', __DIR__);
  5. date_default_timezone_set('PRC');
  6. /*echo dirname(dirname(__DIR__)) . '/vendor/autoload.php';
  7. die;*/
  8. /**
  9. * /vendor/autoload.php是Composer工具生成的
  10. * shell: composer update
  11. */
  12. require dirname(dirname(__DIR__)) . '/vendor/autoload.php';
  13. /**
  14. * Swoole框架自动载入器初始化
  15. */
  16. Swoole\Loader::vendorInit();
  17. /**
  18. * 注册命名空间到自动载入器中
  19. */
  20. Swoole\Loader::addNameSpace('WebIM', __DIR__.'/src/');
  21. Swoole::getInstance()->config->setPath('./configs');
  22. //设置PID文件的存储路径
  23. Swoole\Network\Server::setPidFile(__DIR__ . '/log/webim_server.pid');
  24. /**
  25. * 启动swoole进程
  26. * php app_server.php start|stop|reload
  27. */
  28. Swoole\Network\Server::start(function ()
  29. {
  30. $config = Swoole::getInstance()->config['webim'];
  31. $webim = new WebIM\Server($config);
  32. $webim->loadSetting(__DIR__ . "/swoole.ini"); //加载配置文件
  33. /**
  34. * webim必须使用swoole扩展
  35. */
  36. $server = new Swoole\Network\Server($config['server']['host'], $config['server']['port']);
  37. $server->setProtocol($webim);
  38. $server->run($config['swoole']);
  39. });