PHP每次运行jquery脚本' x'分钟

时间:2014-11-27 13:14:04

标签: php jquery

我一直在查看多个问题,但我并不太了解(因为我所知道的PHP中的所有内容都是联系表单和基本内容),这似乎是类似的问题。

我只需要一个php脚本在服务器端运行并运行jquery脚本每个' x'分钟......在jquery中,我可以简单地设置一个间隔,但是如果页面没有被访问并且我希望它能够连续运行,它将无法运行。

如果你愿意请耐心地举一个例子,也许可以解释一下原理......谢谢

2 个答案:

答案 0 :(得分:1)

根据您的评论,您想要查看网站是否在线,或者不在这里作为一个小例子:

ini_set("default_socket_timeout","05");//see 1)
set_time_limit(5); //see 1)

$f=fopen("http://www.example.com","r"); //see 2)

$r=fread($f,1000); //see 3)
fclose($f); // see 4)

if(strlen($r)>1) { //see 5)
    echo "<span class='online'>Online</span>";
}
else {
    echo "<span class='offline'>Offline</span>";
}

备注

1)将stream-timeout设置为5秒。如果站点处于脱机状态,则应直接发送响应,因此无需长时间检查

2)打开网址(仅读取)

3)读取opend url(二进制)

的前1000个charaktars

4)关闭连接

5)检查数据是否可以被加入。如果存在数据,则可以打开网站

要安装执行php脚本的cronjob,您可以使用:

1 * * * * /usr/bin/wget -q -O /var/log/website_check.log http://www.webiste.com/pathTo/check.php

这将在每个via wget执行你的php脚本,并将输出写入日志文件。 请检查cron的路径,它们可能在您的服务器上有所不同。 php脚本的url也可以更改为绝对路径。 (例如var/www/webroot/check.php

答案 1 :(得分:1)

需要做的是验证网站/网页是否已启动。

没有必要运行一个运行一个运行php脚本的wget的cron作业!如果你可以运行一个cron作业,我会假设你在unix服务器上并且可以使用bash脚本(win-bash也可能在windows上运行但我不熟悉)

serverfault.com上有一个很好的主题,它正在寻找几乎相同的东西:script to automatically test if a web site is available

和一个可以轻松自定义以执行所需操作的脚本:

#! /usr/bin/sh

function check {
 if [ $? -ne 0 ] ; then
     echo "Error occurred getting URL $1:"
     if [ $? -eq 6 ]; then
         echo "Unable to resolve host"
     fi
     if [$? -eq 7 ]; then
         echo "Unable to connect to host"
     fi
     exit 1
 fi

}
curl -s -o "/dev/null" $1
check;
来自http://answers.google.com/answers/threadview/id/276934.html用户的脚本和额外信息:wengland-ga

  

简而言之,使用HTTP URL调用脚本进行检查。卷曲会   默默地尝试获取文件并将其发送到/ dev / null。如果失败了,   它将设置退出代码,在“检查”功能中进行检查。

     

您可能必须使用curl参数才能使其工作正常   你想要它。您还可以将curl输出重定向到临时文件,   并使用grep和filesize检查以确保内容正确。   有关详细信息,请阅读手册页。

     

搜索策略:

     男人卷曲   ://www.google.com/search HL = EN&安培; LR =&安培,即= ISO-8859-1&安培; Q =男人+卷曲&安培; btnG =谷歌搜索+

     

bash检查退出代码   ?://www.google.com/search Q = bash的+校验+退出+代码&安培; SA =谷歌搜索+

     

bash + if语法   ://www.google.com/search Q = bash的+%2Bif +语法&安培; HL = EN&安培; LR =&安培,即= UTF-8和;开始= 10安培; SA = N

这是一点点阅读,但这就是我这样做的方式(我觉得它没有任何过度杀伤)

在某些服务器上,可能未安装curl,因此您必须安装它