[英]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.