我需要一个脚本才能永远工作;就是这样,它将在不停止,下载内容和在数据库中存储信息以及执行计算的情况下生成搁浅信息。
似乎可以在PHP中使用:
<?php
ignore_user_abort(); // run script in background
set_time_limit(0); // run script forever
$interval=60*15; // do every 15 minutes...
do{
// add the script that has to be ran every 15 minutes here
// ...
sleep($interval); // wait 15 minutes
} while(true);
?>
但一般认为PHP的设计并未考虑到这一点。
1)使用PHP方式有什么缺点(如何停止这个脚本?)还是有更好的语言来做这个,比如C ++?
2)还有哪些其他公司,比如google为网站编制索引的公司呢?
答案 0 :(得分:1)
长时间运行的脚本通常是一个坏主意,因为它们是脚本的原因。我不确定一旦它运行就停止PHP脚本的方法,但可能没有办法(至少实际上)。我建议编写一个可以在服务器计算机上运行的程序,使用的语言比脚本更适合做那种工作。
只要不关闭它,一个简单的C#或Java程序就可以永远运行。您可以使用相应语言的数据库支持来操作数据库。
答案 1 :(得分:-1)
您正在做的事情通常是使用cron作业在PHP中完成的。
http://www.serverwatch.com/server-tutorials/a-primer-for-scheduling-cron-jobs-in-linux.html
(或google“cron job”+您选择的操作系统)
可以安排cron作业每隔15分钟轻松执行一个任意脚本。
设计PHP脚本以便永远运行被认为是不好的做法,因为PHP的设计并没有考虑到这一点。