2010-11-20 70 views
4

我有兩個php腳本需要在WAMP服務器中作爲連續的後臺進程運行。運行一個php腳本作爲後臺進程在wamp服務器中

Wamp服務器安裝在窗口7的PC中。這些腳本已經駐留在www根目錄的單獨文件夾中。

Apache的版本:2.2.8
PHP版本:5.2.6

因爲這不是一個UNIX平臺上,我不能使用 nohup php script.php > /dev/null &命令來完成這項工作。我正在尋找類似於wamp server windows平臺的命令或方法。

任何人都可以解釋我需要採取的步驟來完成這項任務嗎?

+0

這不完全是一個編程問題。 – 2010-11-20 06:49:48

+0

認爲這是我應該發佈這個地方。無論如何真的很感謝任何幫助... – 2010-11-20 07:02:33

回答

10
  1. 創建一個批處理文件中使用PHP可執行文件來運行你的PHP腳本 「C:\ WAMP \ PHP \的php.exe C:\ WAMP \ WWW \的index.php」
  2. 在計劃任務中添加此批處理文件在Windows控制面板中。
+0

嗨,謝謝。我剛剛創建了兩個bat文件,就像你說的那樣。 – 2010-12-17 16:25:39

0

您可以在開始背景腳本之前使用「開始」。例如:

創建cron.cmd與

start /B php.exe "path to your script 1" 
start /B php.exe "path to your script 2" 

您可以顯示有關start命令男人:

  1. - [R
  2. cmd
  3. help start
0

這是我做過什麼:

  1. PHP文件

    <?php my code goes here ?> 
    

    *注意:如果您正在使用HTTP API /捲曲在CLI中使用dl("php_curl.dll");

    這個負載蜷縮成CLI

  2. 現在我加了PHP到windows path變量,這個可以做從我的電腦,屬性,高級設置,環境變量NE,新

  3. 接下來,我創建了一個.bat文件,只要打開以下記事本&類型代碼,並保存爲myfile.bat

    @ECHO OFF 
    php -f d:\wamp\www\V3\task.php 
    

    This site威力幫助你.bat文件的語法。

  4. 現在在窗口上創建一個新的計劃任務&調用上述。bat文件作爲源,

+0

請不要發佈相同的答案兩次 - 您的答案有一些格式和拼寫問題,複製它意味着這些必須在兩個地方而不是一個固定。但是,如果問題確實存在,您可以將問題標記爲重複。 – Flexo 2012-07-03 06:20:15

8

只需使用此功能。它的工作原理兩個操作系統(Windows和Linux)下:

function execInBackground($cmd){ 
    if (substr(php_uname(), 0, 7) == "Windows"){ 
     pclose(popen("start /B ". $cmd, "r")); 
    }else{ 
     exec($cmd . " > /dev/null &"); 
    } 
} 

下面是如何使用功能的簡單的例子:

execInBackground('php feed/handleFeed.php db_name '.$second_param); 

在上面的例子中,我們啓動腳本handleFeed.php那位於文件夾名爲「飼料」和我們傳遞2參數(數據庫名稱和一些其他第二個參數)。

+0

感謝您的回答 – 2013-12-08 08:56:47

相關問題