2016-05-13 67 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

相关问题