4

我有一个连续运行并请求一个 php 页面的 linux bash 脚本。php 页面做了一些魔术,500 毫秒后 bash 脚本再次请求 php 页面,php 做了一些魔术。这会日复一日地运行,但有时 bash 会崩溃,这意味着我需要登录机器并再次运行脚本。不,我正在寻找一个完全由 php 驱动的解决方案。

我进行了以下测试,但不起作用。文件));

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 上运行......)。

希望有人可以帮助我。

4

2 回答 2

2

创建一个 PHP 守护进程。你会省去很多麻烦。

http://pear.php.net/package/System_Daemon

System_Daemon 是一个 PHP 类,允许开发人员在 Linux 系统上创建自己的守护程序应用程序

于 2012-09-17T19:18:42.753 回答
1

流行的守护程序库似乎不能跨操作系统工作。我确信这是由于 *NIX 和 windows 之间处理服务/进程的方式截然不同。

看起来您将不得不使用任意数量的流行库 System_Daemon、Supervisord 在 linux 中创建一个守护进程,

然后在 Windows http://www.akchauhan.com/create-windows-service-to-schedule-php-script-execution/中创建一个。这是创建服务的秘诀,该服务可以像 cron 一样按时间间隔执行您的 php 脚本。

于 2012-09-17T19:32:27.180 回答