0
我需要以正確的順序運行幾個PHP腳本(它們通過OAuth解析和檢索一些數據),ONE之後的另一個,等待前一個腳本完成(腳本2需要在script1等之後解析數據...)。從腳本中調用並運行php腳本
例如:
從mainscript.php
script1.php -> COMPLETED -> script2-php -> COMPLETED -> script3.php -> ....
我打電話腳本用下面的代碼:
<?php
echo '<br /><br />SCRIPT 1<br /><br /> ';
include ("script1.php");
set_time_limit(0);
$seconds = 5; // HERE I PUT 5 SECONDS BECAUSE I THINK ITS THE RIGHT TIME TO RUN PARSING
sleep($seconds);
echo '<br /><br />SCRIPT 2<br /><br />';
include ("script2.php");
set_time_limit(0);
$seconds = 5; // HERE I PUT 5 SECONDS BECAUSE I THINK ITS THE RIGHT TIME TO RUN PARSING
sleep($seconds);
echo '<br /><br />SCRIPT 3<br /><br /> ';
include ("script3.php");
set_time_limit(0);
$seconds = 5; // HERE I PUT 5 SECONDS BECAUSE I THINK ITS THE RIGHT TIME TO RUN PARSING
sleep($seconds);
echo '<br /><br />SCRIPT 4<br /><br /> ';
include ("script4.php");
?>
所以我的問題是:是否有意義把set_time_limit
睡成mainscript.php
,或INCLUDE
函數依次調用正確順序的每個腳本?你能提供一個解決方案,一個建議嗎?
在運行第一個腳本之後,您正在運行睡眠命令**。在大多數情況下,PHP是同步的(不會同時運行)(我認爲一些PHP 5.3函數具有異步回調),因此沒有理由在此處執行「睡眠」。 [有關如何執行異步PHP作業的幫助,請看這裏](http://stackoverflow.com/questions/124462/asynchronous-php-calls)。 – h2ooooooo
@ h2ooooooo謝謝,所以我的代碼是正確的,沒有睡覺?並且我確信腳本會加載到SUCCESSION中? – Huxley
是的,除非您在子PHP文件中使用異步命令(例如'exec',在某些情況下,它不會等到腳本完成),那麼是的,您不需要睡眠命令,因爲代碼在達到該點時已經運行。 – h2ooooooo