2013-05-02 205 views
3

我想要获得多个php脚本并行运行。我运行WAMP意味着不容易访问bash或cronjobs。因此,尝试使用PHP的这个工作只。PHP脚本并行运行多个php脚本

<?php 
include("test2.php"); 
include("test3.php"); 
include("test4.php"); 
?> 

但测试文件在输出一行代码之前有一个等待命令。当我运行它时,它会等待每个单独的php完成它的等待时间,然后继续前进。我希望他们能够在同一时间都运行(平行)

我也试过

system('C:\wamp\bin\php\php5.4.3 test2.php &'); 

的目标是使脚本并行运行这些脚本,等待他们完成并行输出运行回声说完成。我错过了什么吗?

+1

Windows =任务计划程序,Linux = bash/Cron – 2013-05-02 02:46:21

+0

好吧,就这样吧。我试图在一个脚本中包含这个功能,并且能够将它从计算机移动到另一个计算机,而无需设置任务... – SuperMar1o 2013-05-02 02:47:41

+0

在这种情况下..如果您希望PHP将所有内容一起处理,不幸的是,这种情况不会发生。 PHP工作从第1行直到处理结束。因此,本质上,你的第一个包含,将得到处理..然后输出,然后你的第二个包括将被处理然后输出,最后你的最后包含将被处理,然后输出给出 – 2013-05-02 02:49:17

回答

0

为什么没有人提到使用iframe。天才!

<IFRAME SRC="example1.php" WIDTH=0 HEIGHT=0></IFRAME> 
<IFRAME SRC="example2.php" WIDTH=0 HEIGHT=0></IFRAME> 
<IFRAME SRC="example3.php" WIDTH=0 HEIGHT=0></IFRAME> 

可以从一个PHP文件中运行,并允许多个脚本同时运行。卫生署。 正是我需要和像一个魅力工作

+2

我的框架是一个可怕的想法,什么是浏览器点,这些应该通过命令行调用。 – 2013-05-02 03:43:22

+0

使用iframes意味着这些能够从一个单独的php文件中运行,同时进行负载并在完成时我可以使用javascript window.onload加载另一个php文件。是的杂乱,技术上是不正确的做法,但有时候结果是重要的。 – SuperMar1o 2013-05-02 03:44:59

+0

system()如何失败? – 2013-05-02 03:50:19

0

据我所知PHP被解释并执行代码语句的声明。

CURL或readfile()可能支持回显内容,因为它流,但只有在通话结束后才会继续。 iframe解决方案将起作用;或者javascript用于异步调用页面;你可以使用反引号``运行bash命令,但这不是可移植的,也不是好的做法。

这里有一个shell脚本选项:https://serverfault.com/a/456498

2

一件事想想,如果你想这个了一圈跑,只是将其添加到头部。它将等待iFrame加载,然后转到下一页。

<body onload=window.location='parsethem.php'>