5

情况
我的 php/html 页面每 5-10 分钟左右检索一次不同域上另一个页面的内容。我使用 JavaScript setInterval() 和 jquery .load() 将来自其他域的内容请求到我页面上的元素中。每次检索内容时,javascript 都会将新内容与以前的内容进行比较,然后我对 php 脚本进行 Ajax 调用,该脚本会向我发送一封电子邮件,说明更改的内容。

问题
除了我需要不断打开浏览器来请求更新之外,一切都很好而且很花哨。

问题
有没有办法在服务器上使用某种“自执行”脚本来完成此任务?我只需要启动一次,只要我希望脚本运行,它就可以继续自行运行而无需打开浏览器?

提前致谢!PS 我无论如何都不是 php/javascript 专家,但我可以解决问题。

4

3 回答 3

1

If you're running a script at an interval, I would recommend using a bash script instead that runs in the background.

#!/bin/bash

while [ 1 ]
do
    php "script.php"
    sleep 300
done

Then you can run the script like nohup bash.sh. 300 seconds = 5 minutes.

于 2013-05-07T16:36:34.177 回答
1

我相信您正在寻找的东西是 cron 工作。

于 2013-05-07T16:32:48.230 回答
1

如果您的脚本依赖 Javascript 来正确执行,您将需要使用浏览器来实现您的目标。

但是,如果您可以更改脚本以通过 PHP 执行所有功能,可能使用cURL来请求必要的数据,则可以使用cron作业定期执行脚本。

于 2013-05-07T16:33:36.157 回答