2016-05-13 83 views
1

我想用popen/exec啓動後臺進程(執行php腳本)。無法啓動後臺進程在Windows中運行PHP腳本IIS服務器

我試過proc_open ---但導致無限循環&在一段時間後終止500內部錯誤

popen/exec - 沒有錯誤&同時背景腳本也沒有運行。

我的當前結構是這樣的:

test.php的

$processHandle = popen("start /b php background.php", "r"); 

background.php

$file = fopen("test.txt","w"); 
echo fputs($file,"Hello World. Testing!"); 
fclose($file); 

i到命令提示嘗試:PHP test.php的

它啓動後臺進程和fil Ë被創建

我試圖通過web瀏覽器請求運行相同的腳本: 它不工作&不給錯誤也是如此。

請幫忙嗎?

+0

你使用的是什麼操作系統? –

回答

0
pclose(popen()); 

$var = popen(); 
pclose($var); 
+0

謝謝。我也嘗試過這種方式,但它不起作用。這裏主要的問題是啓動後臺進程本身。它與pclose()有關嗎? – kamalakar

+0

可能它是執行時間錯誤....可能...但在你的情況下..流仍然打開可能會達到最大執行時間...如果你想運行後臺進程...嘗試exec() ..和內部執行..追加nohup ..「nohup php background.php」 –

+0

我試過,現在的問題是警告:exec():無法叉[nohup php C:\ wwwroot \ api \ test \ background。 php]在第11行的C:\ wwwroot \ api \ test \ test.php中。 – kamalakar

相關問題