2012-09-17 34 views
4

我有一個連續運行並請求php頁面的linux bash腳本。 php頁面有一些魔力,在500ms後bash腳本再次請求php頁面,並且php做了一些魔術。這一天運行一天,但有時bash崩潰,這意味着我需要登錄到機器並再次運行腳本。不,我正在尋找一個完全由PHP驅動的解決方案。php遞歸無限頁面加載

我做了如下試驗(S),但將無法正常工作。 FILE));

recursiveStopStart(true,$basepath); 

function recursiveStopStart($mayrun = true,$basepath){ 
    if ($mayrun == true){ 
     sleep(1); 
     exec("C:\wamp\bin\php\php5.3.13\php.exe ".$basepath."/scripts/StopStart.php"); 
     exec("C:\wamp\bin\php\php5.3.13\php.exe ".$basepath."/scripts/TestStopStart.php"); 
     flush(); 
     exit(); 
    } 
} 
?> 

StopStart.php是這樣做的腳本。 TestStopStartphp是製作遞歸想法的主要php頁面。

我找上我要求1頁的解決方案,該頁面調用魔頁,並呼籲自己從頭再來過的一切。

的第二個原因轉移到PHP的是,我可以把它獨立於平臺(bash的在Windows上不會運行...)。

希望有人能幫助我。

回答

2

創建一個PHP守護程序。你會節省很多頭痛。

http://pear.php.net/package/System_Daemon

System_Daemon是一個PHP類,允許開發人員創建自己的後臺程序在Linux系統上

+0

我熟悉System_Daemon,對於基於Linux的選項來說,這將是一個不錯的選擇。但是我想要一個獨立於平臺的選項,System_Daemon不能在Windows上運行。 – marco

+0

對不起,不能幫你的窗戶。祝你好運! – wesside

1

應用的流行daemonizing庫似乎並沒有工作跨操作系統。我相信這是由於服務/進程在* NIX和windows之間處理的方式截然不同。

看起來你必須創建一個使用多種流行的庫,System_Daemon,Supervisord在Linux中守護進程,

然後創建一個在Windows http://www.akchauhan.com/create-windows-service-to-schedule-php-script-execution/。這是arecipe創建一個服務,執行您的PHP腳本像cron間隔。