如何在PHP應(yīng)用程序中使用多線程是否有一種實(shí)際的方法在PHP中實(shí)現(xiàn)多線程模型,無論是真實(shí)的,還是僅僅模擬它。一段時(shí)間以前,有人建議您可以強(qiáng)制操作系統(tǒng)加載PHP可執(zhí)行文件的另一個(gè)實(shí)例,并處理其他同時(shí)進(jìn)行的進(jìn)程。這方面的問題是,當(dāng)PHP代碼完成執(zhí)行時(shí),PHP實(shí)例將保留在內(nèi)存中,因?yàn)闊o法從PHP中殺死它。所以,如果你在模擬幾個(gè)線程,你可以想象會(huì)發(fā)生什么。因此,我仍然在尋找一種方法,多線程可以有效地完成或模擬內(nèi)PHP。有什么想法嗎?
3 回答

江戶川亂折騰
TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超5個(gè)贊
startprocess.php
$request = "http://localhost/test/process1.php?sessionid=".$_REQUEST["PHPSESSID"];$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $request); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);curl_setopt($ch, CURLOPT_TIMEOUT, 1);curl_exec($ch);curl_close($ch);echo $_REQUEST["PHPSESSID"];
process1.php
set_time_limit(0);if ($_REQUEST["sessionid"]) session_id($_REQUEST["sessionid"]);function checkclose(){ global $_SESSION; if ($_SESSION["closesession"]) { unset($_SESSION["closesession"]); die(); }}while(!$close){ session_start(); $_SESSION["test"] = rand(); checkclose(); session_write_close(); sleep(5);}
verifysession.php
if ($_REQUEST["sessionid"]) session_id($_REQUEST["sessionid"]);session_start();var_dump($_SESSION);
closeprocess.php
if ($_REQUEST["sessionid"]) session_id($_REQUEST["sessionid"]);session_start();$_SESSION["closesession"] = true;var_dump($_SESSION);
- 3 回答
- 0 關(guān)注
- 613 瀏覽
添加回答
舉報(bào)
0/150
提交
取消