繁体   English   中英

从PHP执行多个exec()

[英]Executing multiple exec() from PHP

情况:

我有一个PHP应用程序,需要从exec()命令中获取一些输出。 exec()命令在整个应用程序的不同位置上使用。

当用户在同一浏览器中打开多个页面时, exec()命令总是顺序执行; 如果用户打开第二页,则第二页将在exec()等待第一页的exec()命令完成。 如果我在其他浏览器中或以隐身模式打开第二个页面,则不会发生此问题。

Example test code:
$exec = "notepad.exe"
$data = shell_exec($exec);
echo $data;

在浏览器中运行此代码时,浏览器等待记事本进程关闭。 当第二次同时运行脚本时,第二个记事本进程仅在第一个记事本关闭时启动,除非它是从其他浏览器运行的。

问题:如何从同一浏览器(在不同选项卡中)同时运行多个exec()命令,同时仍然希望捕获输出。

在运行PHP 5.4.7的Apache 2.4上测试

问题是结合使用会话,如下所述: https : //bugs.php.net/bug.php?id=44942

解决方案:使用会话时,我们需要调用session_write_close();。 在运行任何exec()命令之前。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM