2017-09-05 45 views
0

我有一个需要一直运行的PHP守护进程脚本。运行时,php守护进程脚本如何从另一个文件读取最新变量?

<?php 

include "config.php"; 

while (true) 
{ 
    sleep(2); 
} 
?> 

所有重要的变量都在config.php中定义,我需要经常调整。所以每次,我想在config.php中进行更改,我必须杀死守护程序服务并重新启动。我知道config.php在while循环之外,所以即使我在运行期间做了一些更改,我也不会被读取和更新。
我不能把“config.php”包含在while循环中,因为它会重置我所有的运行变量。

是否有一个函数或方法,我可以在运行脚本期间从config.php更新变量? (例如,像每10分钟从config.php文件读取变量)?

请指教。谢谢。

+0

您好,您需要使用cron和配置您的执行。如果你运行while(true)脚本,php在初始化时读取配置。 – Cuchu

+0

谢谢你非常快速的反应Cuchu。我使用守护进程而不是cron作业。你能给我更多的细节吗? –

+0

Cron:https://es.wikipedia.org/wiki/Cron_(Unix) – Cuchu

回答

0
$time = time(); 
include "conf.php"; 
while (true) { 
    if(time() - $time > 600) { 
     include "conf.php"; 
     $time = time(); 
    } 
} 

如果现在时间 - 最后一次为> 600(10分钟)刷新conf.php,并设置新的时间..

+0

我很忙,这会帮助,但肯定还有另一个更详细的解决方案:) – Cuchu

+0

这是非常辉煌的方法。谢谢你,先生。 :) –

相关问题