项目作者: fan-haobai

项目描述 :
用PHP实现一个简易的Server
高级语言: PHP
项目地址: git://github.com/fan-haobai/php-server.git
创建时间: 2018-08-28T05:31:33Z
项目社区:https://github.com/fan-haobai/php-server

开源协议:

下载


php-server

通过 PHP 控制进程,实现一个简易的 Server,具体见 用 PHP 玩转进程之二 — 多进程 PHPServer

控制流程

控制流程

命令

该 PHPServer 仅实现了start|stop|reload|help命令。

  1. $ php server.php --help
  2. Usage: Commands [mode]
  3. Commands:
  4. start Start worker.
  5. stop Stop worker.
  6. reload Reload codes.
  7. Options:
  8. -d to start in DAEMON mode.
  9. Use "--help" for more information about a command.

start

  1. $ php server.php start -d
  2. PHPServer start [OK]
  3. $ pstree -p
  4. init(1)-+-init(3)---bash(5)
  5. |-php(10525)-+-php(10526)
  6. | |-php(10527)
  7. | |-php(10528)
  8. | |-php(10529)
  9. | |-php(10530)
  10. | |-php(10531)
  11. | |-php(10532)
  12. | |-php(10533)
  13. | |-php(10534)
  14. | `-php(10535)

stop

  1. $ php server.php stop
  2. PHPServer stopping ...
  3. PHPServer stop success

reload

reload只会重载 worker 进程,也就是说reload时 master 进程 PID 并不会变化。

  1. $ pstree -p
  2. init(1)-+-init(3)---bash(5)
  3. |-php(10525)-+-php(10526)
  4. | |-php(10527)
  5. | |-php(10528)
  6. | |-php(10529)
  7. | |-php(10530)
  8. | |-php(10531)
  9. | |-php(10532)
  10. | |-php(10533)
  11. | |-php(10534)
  12. | `-php(10535)
  13. $ php server.php reload
  14. PHPServer reloading ...
  15. $ pstree -p
  16. init(1)-+-init(3)---bash(5)
  17. |-php(10525)-+-php(10538)
  18. | |-php(10539)
  19. | |-php(10540)
  20. | |-php(10541)
  21. | |-php(10542)
  22. | |-php(10543)
  23. | |-php(10544)
  24. | |-php(10545)
  25. | |-php(10546)
  26. | `-php(10547)