2013-05-02 125 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'>