国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

Session的問題

czf

chrome 打開頁面 http://127.0.0.1:8082,使用到session

         $session = $request->session();
        //重新設(shè)置ticket
        $wechatTicket = $session->get('wechatTicket','');
        if (!$wechatTicket){
            $wechatTicket = Str::random(40);
            $session->set('wechatTicket',$wechatTicket);
        }
        return "hello";

在chrome 下能正確顯示。

但是firfox、Safari 等瀏覽器打開同一個頁面。報錯?。?!

Request->session() fail, header already send

定位于Workerman\Protocols\Http\Request 第305行 $this->connection === null 成立!

1949 2 0
2個回答

朕震驚了

用了swoole?估計是開了swoole協(xié)程導致的

  • czf 2022-05-12

    在php8.0下,刪除cookie的sid就會復現(xiàn)?。?/p>

  • czf 2022-05-12

    同樣的代碼在php7.2,復現(xiàn)不出來,只有在php8.0才可以復現(xiàn)。

  • Tinywan 2022-05-12

    swoole 在8.0還不支持吧!

  • czf 2022-05-12

    不是用swoole,原生的select

  • Tinywan 2022-05-12

    有條件可以安裝個event擴展試試

  • czf 2022-05-12

    是在 php8.0寫入cookie可能有問題

walkor 打賞

是否使用了異步,定時器之類的操作?
執(zhí)行 php -m 截圖下。

Workerman\Protocols\Http\Request 第305行下面加一行代碼打印下調(diào)用棧,發(fā)下調(diào)用棧。

if ($this->connection === null) {
    echo new \Exception('header already send'); // 這里加一行代碼
    Worker::safeEcho('Request->session() fail, header already send');
    return false;
}
  • czf 2022-05-13

    已經(jīng)解決了,并不是workerman的問題。騷操作導致。過度封裝導致

年代過于久遠,無法發(fā)表回答
??