无法使用Popen运行后台PHP脚本

时间:2015-08-26 19:11:49

标签: php background-process popen pclose

我有一个需要在后台运行的PHP代码(没有cronjobs或类似选项),但是我无法在后台调用它。我正在尝试以下方法:

Sheet2

但它从未运行过。如果我手动运行 import.php ,它会正常运行。

PS:我无法更改import.php。

帮助?

1 个答案:

答案 0 :(得分:0)

我得到了解决方案:

我正在做的是在批处理中调用PHP并使用popen启动它:

$phpBatch = "progress_import_".$idImport.".bat";
$myPhp = fopen($phpBatch, "w") or die("Error opening file!");
$batchContent .= "@echo OFF \n";
$batchContent .= "\"D:\\path\\to\\php.exe\" D:\\path\\to\\progress_import.php ".$idImport." ".$_SESSION['numberFiles']." ";
pclose(popen("start /B D:\\path\\to\\".$phpBatch."", "r"));

progress_import.php我正在使用:

$id = $argv[1];
$numberFiles = $argv[2];

捕捉参数。

希望能有所帮助。