PHP8编译swoole出错,swoole自定义错误的方法

bbd0e3f5351d086b61c5c93a08f85198.png

创建错误处理器

实现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进程去转换。

例如,发生错误信息的时候,则投递至task进程,在task进程中去获取一个单例的redis连接,来写入错误信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值