TL;DR
Yaf 版本为 2.3.0。
本篇主要简单记录了:
- yaf.c
- yaf_application.c
- yaf_bootstrap.c
- yaf_controller.c
- yaf_dispatcher.c
- yaf_exception.c
- yaf_loader.c
- yaf_plugin.c
- yaf_registry.c
源码阅读过程中的一些问题和理解。
PHP实现守护进程可以通过 pcntl 与 posix 扩展实现。
编程中需要注意的地方有:
pcntl_fork() 以及 posix_setsid 让主进程脱离终端pcntl_signal() 忽略或者处理 SIGHUP 信号pcntl_fork() 或者 pcntl_signal() 忽略 SIGCHLD 信号防止子进程变成 Zombie 进程umask() 设定文件权限掩码,防止继承文件权限而来的权限影响功能STDIN/STDOUT/STDERR 重定向到 /dev/null 或者其他流上如果要做的更好,还需要注意:
chdir() 防止操作错误路径