由于workerman底层直接读取$_SERVER['argv']的命令行参数,没有提供独立的方法start/stop,而tp的命令行参数无法适配workerman,虽然thinkphp官方专门做了一个适配的版本,但是看了下评论问题挺多的。于是自己来搞一个. (1).在application/command.php中添加如下代码: return [ 'app\socket\command\Socket' ];...
我自己通过set_exception_handler来自行捕获异常,我发现只要代码不在event事件中执行,异常就能捕获到,但是如果代码在事件轮训中定时执行代码不会报错也无法捕捉到。必须在执行的代码中单独try catch ,然后 才能捕捉到。而且无法在set_exception_handler中拿到,这是什么原理呢?是因为事件的原因吗? 我想统一在set_exception_handler中统一处理异常,而事件中的...
例如我启动多个workman,使用相同的端口。linux3.10以上内核已经支持端口复用,swoole虽然可以,但是我想用workman来做。另外看到php socket文档也有个端口复用的设置函数,但是为什么我启动多个workman不可以相同端口呢?下面是php的端口复用设置 socket_set_option($socket, SOL_SOCKET, SO_REUSEADDR, 1)...