
创建错误处理器
实现errorhandlerinterface接口
namespace App;
use Core\AbstractInterface\ErrorHandlerInterface;
class Test implements ErrorHandlerInterface
{
function handler( $msg,$file = null,$line = null,$errorCode = null,$trace )
{
echo "文件{$file}的第{$line}行,错误:{$msg}";
}
function display($msg,$file = null,$line = null,$errorCode = null,$trace )
{
}
function log( $msg,$file = null,$line = null,$errorCode = null,$trace )
{
}
}
当开启DEBUG.ENABLE的时候,则自定义错误处理有效。
IOC注入
在框架初始化后事件注入:
Di::getInstance()->set(SysConst::ERROR_HANDLER,Test::class);
注意,若在接下去的beforeWorker事件中有逻辑错误,则会导致在服务启动前,错误处理类立即被实例化,若在处理函数内,有用到例如redis等连接,则会造成多进程连接共用问题,为避免该情况,可以利用task进程去转换。
Swoole 6.1.1 是一个专为 PHP 设计的高性能事件驱动并发网络引擎。作为稳定版,它修复了编译时对 zlib 依赖的缺失及 curl 模块的内存安全风险。该版本支持协程、多线程与多进程架构,内置 TCP/HTTP/WebSocket 服务器,能够显著提升 PHP 在微服务、实时通信等场景下的执行效率与并发能力。
例如,发生错误信息的时候,则投递至task进程,在task进程中去获取一个单例的redis连接,来写入错误信息。
推荐学习: swoole视频教程










