2012-02-28 68 views
0

我在Windows 7中使用xampp。如何在Windows中异步运行php脚本?

在我的理解中,以这种方式调用脚本应该异步运行php.exe,而不是等待脚本结束。

$run_cmd = "cmd c:/xampp/php/php.exe c:/xampp/htdocs/Gashash/batch_test.php"; 
$oExec = $WshShell->Run($run_cmd, 0, false); 
当然

$run_cmd = "cmd c:/xampp/php/php.exe c:/xampp/htdocs/Gashash/batch_test.php"; 
exec($run_cmd); 

根据需要,因为它停止调用过程,直到batch_test.php端部执行exec()选项不起作用。

我试着在路径中使用'\'和'\'以及'/'作为斜线,但脚本不起作用!

有什么建议吗?

谢谢!

回答

2

ii已在上周回覆了3次,请先搜索。

$WshShell = new COM("WScript.Shell"); 
$run_cmd = "cmd c:/xampp/php/php.exe c:/xampp/htdocs/Gashash/batch_test.php"; 
$WshShell = $WshShell->Run($run_cmd, 0, false); 
+0

我确实看到了您的答案,但依然如此。不行...我现在复制粘贴它。 – Ted 2012-02-28 02:06:41

+0

会发生什么?因为这是我从来没有遇到任何问题的'普遍'答案。 – 2012-02-28 02:09:35

+0

好吧,如果我将Run的0参数更改为1,我将显示cmd行并立即关闭。我的batch_test.php脚本应该写入日志作为测试。但日志是空的。如果我通过cmd手动执行相同的行(没有cmd作为开头),它会正常运行,如果我添加cmd,它不会生效 – Ted 2012-02-28 02:13:45