如何在PHP应用程序中使用多线程是否有一种实际的方法在PHP中实现多线程模型,无论是真实的,还是仅仅模拟它。一段时间以前,有人建议您可以强制操作系统加载PHP可执行文件的另一个实例,并处理其他同时进行的进程。这方面的问题是,当PHP代码完成执行时,PHP实例将保留在内存中,因为无法从PHP中杀死它。所以,如果你在模拟几个线程,你可以想象会发生什么。因此,我仍然在寻找一种方法,多线程可以有效地完成或模拟内PHP。有什么想法吗?
3 回答
![?](http://img1.sycdn.imooc.com/54584cb50001e5b302200220-100-100.jpg)
江户川乱折腾
TA贡献1851条经验 获得超5个赞
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 关注
- 571 浏览
添加回答
举报
0/150
提交
取消