我有两个php脚本需要在WAMP服务器中作为连续的后台进程运行。
Wamp服务器安装在Windows 7 PC中。这些脚本已驻留在www根目录中的单独文件夹中。
Apache版本:2.2.8
PHP版本:5.2.6
由于这不是unix平台,我无法使用
nohup php script.php > /dev/null &
命令完成这项工作。我正在寻找在wamp服务器Windows平台上工作的类似命令或方法。
任何人都可以解释我需要采取的步骤来完成这项任务吗?
答案 0 :(得分:10)
答案 1 :(得分: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);
在上面的示例中,我们启动位于名为“feed”的文件夹中的脚本 handleFeed.php ,我们传递2个参数(数据库)名称和其他一些第二个参数)。
答案 2 :(得分:0)
在此之间:http://php.net/manual/en/install.windows.commandline.php,并使用“at”实用程序,您应该能够使其正常工作。
答案 3 :(得分:0)
您可以在启动后台脚本之前使用“start”。例如:
使用
创建cron.cmdstart /B php.exe "path to your script 1"
start /B php.exe "path to your script 2"
您可以向人展示启动命令:
cmd
help start
答案 4 :(得分:0)
这就是我所做的:
PHP文件
<?php my code goes here ?>
*请注意,如果您在CLI中使用HTTP API / CURL,请使用dl("php_curl.dll");
将curl加载到cli
现在我将PHP添加到windows路径变量,这可以从我的电脑,属性,高级设置,环境变量,新
接下来我创建了一个.bat文件,只需打开一个记事本&amp;输入以下代码并保存为myfile.bat
@ECHO OFF
php -f d:\wamp\www\V3\task.php
This site可能会帮助您使用.bat文件语法。
现在在Windows&amp;上创建一个新的计划任务将上述.bat文件称为源,
答案 5 :(得分:0)
////我们可以使用以下代码在Windows Xampp服务器中将PHP脚本文件作为后台进程执行。
<?php
exec('C:\xampp\php\php.exe C:\xampp\htdocs\project\bg_script.php);
?>