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

webman新版本Request沒(méi)有每次請(qǐng)求都是新的

huazai

問(wèn)題描述

webman升級(jí)到最新版本,請(qǐng)求發(fā)現(xiàn)每次請(qǐng)求的Request對(duì)象都是同一個(gè)

具體詳情

1.每次返回spl_object_hash都是同一個(gè)
2.每次獲取到的對(duì)象值沒(méi)有重置,假如說(shuō)我第一次請(qǐng)求 username=test,setGet后username=hello_test,
但是下次請(qǐng)求的時(shí)候,我還是傳遞username=test,但是我通過(guò)方法獲取到username直接就是hello_test,好像是個(gè)單例,沒(méi)有重置一樣,記住了上次的值

程序代碼或配置

    public function test(Request $request)
     {
         $username = $request->get('username');
         $prefix = 'hello_';
         $username = $prefix . $username;
         $request->setGet('username', $username);
         $error = null;
         $retData = [
               'username' => $request->get('username'),
               'spl_object_hash' => spl_object_hash($request),
         ];
         return $this->jsonReturn($this->_channel, $error, $retData);
     }

重現(xiàn)問(wèn)題的步驟

操作系統(tǒng)環(huán)境及workerman/webman等具體版本

烏班圖系統(tǒng)
webman最新版本

773 3 0
3個(gè)回答

walkor 打賞

發(fā)問(wèn)題一定記得發(fā)下workerman 和webman具體版本。

  • huazai 2025-03-10

    哦哦,不好意思

    環(huán)境:
    workerman版本號(hào):5.1.0
    webman版本號(hào):2.1.1
    php環(huán)境:8.3.17

    嘗試解決:

    1. window下沒(méi)問(wèn)題,但是在烏班圖系統(tǒng)上有問(wèn)題。
      2.我嘗試在 workerman\Protocols\Http.php里面的input和decode方法上進(jìn)行輸出,想看看到底請(qǐng)求進(jìn)來(lái)沒(méi)(按道理來(lái)說(shuō),每次http請(qǐng)求應(yīng)該都會(huì)進(jìn)入到這個(gè)Http.php里面進(jìn)行處理吧?),但是奇怪的是,多次請(qǐng)求,參數(shù)相同,只輸出了2次日志信息,后續(xù)請(qǐng)求就沒(méi)信息輸出。感覺(jué)像是只要請(qǐng)求參數(shù)一樣,請(qǐng)求超過(guò)2次,就不會(huì)走Http.php執(zhí)行解析了。
      3.我在 action里面打印了 Request對(duì)象的spl_object_hash,每次獲取的都一樣,像是一個(gè)單例。
    2. Webman\Http__clone方法,我添加了輸出日志,但是就前2次輸出了,后面好像就沒(méi)有被調(diào)用。
  • walkor 2025-03-10

    spl_object_hash 返回同一個(gè)值,不一定代表是同一個(gè)對(duì)象。一個(gè)對(duì)象銷毀后它的spl_object_hash值可能會(huì)被復(fù)用。
    你的測(cè)試我沒(méi)看懂,按照你的代碼,下次請(qǐng)求的時(shí)候,還是傳遞username=test,$request->setGet('username', $username);還是被執(zhí)行,得到hello_test沒(méi)問(wèn)題

  • huazai 2025-03-10

    可能表達(dá)的有問(wèn)題。
    假如我第一次請(qǐng)求 傳遞 username=test,獲取到 username是test,返回 hello_test.
    假如我第二次請(qǐng)求 傳遞 username=test,,獲取到 username是hello_test,返回 hello_hello_test
    假如我第三次請(qǐng)求 傳遞 username=test,獲取到username是hello_hello_test,返回 hello_hello_hello_test

    就是每次的請(qǐng)求把上次的值帶過(guò)來(lái)了,append上了,

  • walkor 2025-03-10

    你windows沒(méi)問(wèn)題,那么linux上代碼和windows是一套么,workerman和webman版本是否一致都是最新的?

  • walkor 2025-03-10

    還有測(cè)試的是什么客戶端,瀏覽器還是什么?

  • walkor 2025-03-10

    composer info | grep workerman
    發(fā)下

  • huazai 2025-03-10

    workerman/coroutine 1.1.3 Workerman coroutine
    workerman/webman-framework 2.1.1 High performance HTTP Service Frame...
    workerman/workerman 5.1.0 An asynchronous event driven PHP fr..

  • huazai 2025-03-10

    使用的是谷歌瀏覽器。

  • walkor 2025-03-10

    弄個(gè)能測(cè)試出問(wèn)題的項(xiàng)目打包發(fā)到 QQ郵箱 2202055656

  • huazai 2025-03-10

    收到

  • walkor 2025-03-10

    升級(jí)下 composer requrie workerman/webman-framework ^2.1.2 試下

  • huazai 2025-03-10

    收到,好的

lunzi

直接修改request對(duì)象了吧,不要用setGet

  • huazai 2025-03-10

    是的,直接修改的。。然后就有這個(gè)問(wèn)題了。 你這邊有遇到了嗎?

  • lunzi 2025-03-10

    用了setGet就和你這一樣啦,首頁(yè)有個(gè)一樣的問(wèn)題 http://wtbis.cn/q/13916

  • huazai 2025-03-10

    好的,但是感覺(jué)不科學(xué),每次的請(qǐng)求不應(yīng)該是個(gè)新的Request對(duì)象嗎?為什么會(huì)有這種問(wèn)題

artisan

是不是訪問(wèn)的http server進(jìn)程對(duì)應(yīng)的eventloop配置為空?

  • huazai 2025-03-10

    是的,但是我看,默認(rèn)是select模型

??