PHP8编译swoole出错,swoole自定义错误的方法
創建錯誤處理器
實現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連接,來寫入錯誤信息。
總結
以上是生活随笔為你收集整理的PHP8编译swoole出错,swoole自定义错误的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 决策树 字符型_Pytho
- 下一篇: python3怎么做爬虫_Python爬