簡體   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