我有一个连续运行的linux bash脚本并请求一个php页面。 php页面做了一些魔术,在500ms之后bash脚本再次请求php页面,php做了一些魔术。这日复一日地运行,但有时bash崩溃,这意味着我需要登录到机器并再次运行脚本。不,我正在寻找完全由php驱动的解决方案。
我做了以下测试,但是不行。 FILE));
recursiveStopStart(true,$basepath);
function recursiveStopStart($mayrun = true,$basepath){
if ($mayrun == true){
sleep(1);
exec("C:\wamp\bin\php\php5.3.13\php.exe ".$basepath."/scripts/StopStart.php");
exec("C:\wamp\bin\php\php5.3.13\php.exe ".$basepath."/scripts/TestStopStart.php");
flush();
exit();
}
}
?>
StopStart.php是完成魔术的脚本。 TestStopStartphp是构成递归思想的主要php页面。
我正在寻找一个我请求1页的解决方案,该页面调用魔术页面并调用自身来重新运行所有内容。
转向php的第二个原因是我可以让它独立于平台(bash不会在Windows上运行......)。
希望有人能帮助我。
答案 0 :(得分:2)
创建一个PHP守护程序。你会节省很多头痛。
http://pear.php.net/package/System_Daemon
System_Daemon是一个允许开发人员创建自己的守护进程的PHP类 Linux系统上的应用程序
答案 1 :(得分:1)
流行的守护程序库似乎不能跨OS运行。我确信这是由于* NIX和Windows之间处理服务/流程的方式截然不同。
看起来您将不得不使用任意数量的流行库(System_Daemon,Supervisord,
)在linux中创建一个守护进程然后在Windows http://www.akchauhan.com/create-windows-service-to-schedule-php-script-execution/中创建一个。这是用来创建一个服务,在像cron这样的间隔上执行你的php脚本。