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?
- create a batch file to run your php script using php executable "C:\wamp\php\php.exe C:\wamp\www\index.php"
- add this batch file in Scheduled Task in Windows control panel.
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).
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.
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:
- Win-R
- type
cmd
- type
help start
This is what I did:
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
Now I added PHP to windows path variable, this can be done from My computer, properties, advanced settings, environment variables, new
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.
Now create a new scheduled task on windows & call the above .bat file as source,
来源:https://stackoverflow.com/questions/4231539/run-a-php-script-as-a-background-process-in-wamp-server