Run a php script as a background process in wamp s

2019-01-17 18:37发布

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?

5条回答
爷的心禁止访问
2楼-- · 2019-01-17 19:09

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,

查看更多
Explosion°爆炸
3楼-- · 2019-01-17 19:14
  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.
查看更多
该账号已被封号
4楼-- · 2019-01-17 19:15

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
查看更多
Rolldiameter
5楼-- · 2019-01-17 19:21

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).

查看更多
三岁会撩人
6楼-- · 2019-01-17 19:22

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.

查看更多
登录 后发表回答