运行php脚本作为wamp服务器中的后台进程

时间:2010-11-20 06:43:03

标签: php windows wamp background-process

我有两个php脚本需要在WAMP服务器中作为连续的后台进程运行。

Wamp服务器安装在Windows 7 PC中。这些脚本已驻留在www根目录中的单独文件夹中。

Apache版本:2.2.8
PHP版本:5.2.6

由于这不是unix平台,我无法使用 nohup php script.php > /dev/null &命令完成这项工作。我正在寻找在wamp服务器Windows平台上工作的类似命令或方法。

任何人都可以解释我需要采取的步骤来完成这项任务吗?

6 个答案:

答案 0 :(得分:10)

  1. 使用php可执行文件“C:\ wamp \ php \ php.exe C:\ wamp \ www \ index.php”创建一个批处理文件来运行你的php脚本
  2. 在Windows控制面板的计划任务中添加此批处理文件。

答案 1 :(得分: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);

在上面的示例中,我们启动位于名为“feed”的文件夹中的脚本 handleFeed.php ,我们传递2个参数(数据库)名称和其他一些第二个参数)。

答案 2 :(得分:0)

在此之间:http://php.net/manual/en/install.windows.commandline.php,并使用“at”实用程序,您应该能够使其正常工作。

答案 3 :(得分:0)

您可以在启动后台脚本之前使用“start”。例如:

使用

创建cron.cmd
start /B php.exe "path to your script 1"
start /B php.exe "path to your script 2"

您可以向人展示启动命令:

  1. - - [R
  2. 输入cmd
  3. 输入help start

答案 4 :(得分:0)

这就是我所做的:

  1. PHP文件

    <?php my code goes here ?>
    

    *请注意,如果您在CLI中使用HTTP API / CURL,请使用dl("php_curl.dll");

    将curl加载到cli

  2. 现在我将PHP添加到windows路径变量,这可以从我的电脑,属性,高级设置,环境变量,新

  3. 完成
  4. 接下来我创建了一个.bat文件,只需打开一个记事本&amp;输入以下代码并保存为myfile.bat

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

    This site可能会帮助您使用.bat文件语法。

  5. 现在在Windows&amp;上创建一个新的计划任务将上述.bat文件称为源,

答案 5 :(得分:0)

////我们可以使用以下代码在Windows Xampp服务器中将PHP脚本文件作为后台进程执行。

<?php
    exec('C:\xampp\php\php.exe C:\xampp\htdocs\project\bg_script.php);
?>