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

发布于 2024-10-03 10:45:33 字数 304 浏览 9 评论 0原文

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

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

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

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

谁能解释一下我需要采取哪些步骤来完成这项任务?

I have two php scripts that need to be run as continuous back ground processes in WAMP server.

Wamp server is installed in window 7 PC. These scripts are already reside in separate folder in the www root directory.

Apache Version :2.2.8
PHP Version :5.2.6

Since this is not a unix platform I can't use
nohup php script.php > /dev/null & command to do this job. I'm looking for similar kind of command or method which works in wamp server windows platform.

Can anyone explain the steps I need to be taken to do this task?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

梦行七里 2024-10-10 10:45:33
  1. 创建一个批处理文件以使用 php 可执行文件“C:\wamp\php\php.exe C:\wamp\www\index.php”运行 php 脚本,
  2. 将此批处理文件添加到 Windows 控制面板的计划任务中。
  1. create a batch file to run your php script using php executable "C:\wamp\php\php.exe C:\wamp\www\index.php"
  2. add this batch file in Scheduled Task in Windows control panel.

只需使用此功能即可。它可以在两个操作系统(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” feed”,我们传递 2 个参数(数据库名称和其他一些第二个参数)。

Simply use this function. It works under both OSs (Windows and Linux):

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

Here is an easy example of how to use the function:

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

In above example, we start script handleFeed.php that is located in folder named "feed" and we pass 2 parameters (database name and some other second parameter).

难忘№最初的完美 2024-10-10 10:45:33

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

Between this: http://php.net/manual/en/install.windows.commandline.php, and using the "at" utility, you ought to be able to get it working.

鹿港巷口少年归 2024-10-10 10:45:33

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

创建 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. type cmd
  3. type help start

You can use "start" before start background script. Example:

create cron.cmd with

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

You can show man about the start command:

  1. Win-R
  2. type cmd
  3. type help start
暗藏城府 2024-10-10 10:45:33

这就是我所做的:

  1. PHP 文件

    
    

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

    这会将curl加载到cli中

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

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

    <前><代码>@ECHO 关闭
    php -fd:\wamp\www\V3\task.php

    此网站可能会帮助您处理 .bat 文件接下来

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

This is what I did:

  1. PHP file

    <?php my code goes here ?>
    

    *Note if you are using HTTP API/CURL in CLI use dl("php_curl.dll");

    this loads curl into cli

  2. Now I added PHP to windows path variable, this can be done from My computer, properties, advanced settings, environment variables, new

  3. Next I created a .bat file, simply open a notepad & type code below and save as myfile.bat

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

    This site might help you on .bat file syntax.

  4. Now create a new scheduled task on windows & call the above .bat file as source,

瞳孔里扚悲伤 2024-10-10 10:45:33

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

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

/// we can execute PHP script file as a background process in the windows Xampp server using the below code.

<?php
    exec('C:\xampp\php\php.exe C:\xampp\htdocs\project\bg_script.php);
?>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文