2010-11-20 157 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

相关问题