PHP Warning: http response is unavailable (maybe it has been ended or detached)

字号+ 编辑: 国内TP粉 修订: 种花家 来源: swoole文档 2023-11-20 我要说两句(0)

一个可能经常碰到的错误解决记录。

相信不少小伙伴在使用swoole混合使用php8支持的业务代码感到了满意的性能提升,但新手观察日志会看到不少和平时php写业务时不一样的报错。处理逻辑的时候, 笔者通常会在response对象后调用end()这个方法, 这个之后, 接着在response对象中再调用header() status() 等一众方法,日志会报Warning级别的错误, 表示http不再可用。报错信息类似:

PHP Warning: Swoole\Http\Response::setStatusCode(): http response is unavailable (maybe it has been ended or detached)

怎么解决呢?

检查业务逻辑, 是不是调用了end()之后逻辑没用return;退出, 还在继续操作reponse对象。比如你在swoole传进来的response对象中调用了redirect()方法, 之后再调用end()方法就会报这个错, 因为redirect()方法中已经包含了end()方法的逻辑。

阅完此文,您的感想如何?
  • 有用

    0

  • 没用

    0

  • 开心

    0

  • 愤怒

    0

  • 可怜

    0

1.如文章侵犯了您的版权,请发邮件通知本站,该文章将在24小时内删除;
2.本站标注原创的文章,转发时烦请注明来源;
3.Q群: 2702237 13835667

相关课文
  • mac开发接入微信公众号接口返回报错 cURL error 56: SSLRead() return error -9806

  • PHP的换行符是什么

  • pecl安装程序时报错Array and string offset access syntax with curly braces is no longer supported

  • 由于商家传入的H5交易参数有误,该笔交易暂时无法完成,请联系商家解决

我要说说
网上嘉宾点评