5

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

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

阿帕奇版本:2.2.8
PHP 版本:5.2.6

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

谁能解释我需要采取的步骤来完成这项任务?

4

6 回答 6

11
  1. 创建一个批处理文件以使用 php 可执行文件 "C:\wamp\php\php.exe C:\wamp\www\index.php" 运行您的 php 脚本
  2. 在 Windows 控制面板的计划任务中添加此批处理文件。
于 2010-11-20T07:10:36.367 回答
10

只需使用此功能。它适用于两种操作系统(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 个参数(数据库名称和其他一些第二个参数)。

于 2013-11-18T12:38:41.507 回答
0

在这之间:http://php.net/manual/en/install.windows.commandline.php,并使用“at”实用程序,你应该能够让它工作。

于 2010-11-20T07:06:43.233 回答
0

这就是我所做的:

  1. PHP 文件

    <?php my code goes here ?>
    

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

    这会将 curl 加载到 cli

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

  3. 接下来我创建了一个 .bat 文件,只需打开记事本并在下面输入代码并保存为 myfile.bat

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

    该站点可能会帮助您了解 .bat 文件语法。

  4. 现在在 Windows 上创建一个新的计划任务并调用上面的 .bat 文件作为源,

于 2012-07-03T05:19:31.327 回答
0

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

创建 cron.cmd 与

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

您可以向 man 显示有关启动命令的信息:

  1. Win-R
  2. 类型cmd
  3. 类型help start
于 2010-11-21T21:12:52.210 回答
0

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

<?php
    exec('C:\xampp\php\php.exe C:\xampp\htdocs\project\bg_script.php);
?>
于 2020-01-24T11:52:23.847 回答