我有一个应该每天自动运行的php脚本。 因为PHP脚本是在请求上运行的,我该怎么办呢? 有没有其他方法使用cronjob任务?
答案 0 :(得分:10)
两个选项:
选择权在你自己:)
要使用crontab,在控制台中键入crontab -e
,将打开文本文件。最后添加一行:
0 0 * * * /usr/bin/php /var/www/mysite/httpdocs/daily_stats.php
其中:
0 0 * * *
- 每天00:00运行
/usr/bin/php
-path到您的PHP(可由which php
命令确定)
/var/www/mysite/httpdocs/daily_stats.php
- PHP脚本的路径
如果which php
没有输出任何内容,请运行以下命令安装PHP cli:
sudo aptitude install php5-cli
祝你好运!
答案 1 :(得分:4)
使用自动启动并在24小时前提供结果的cron作业选项
答案 2 :(得分:1)
使用cron作业,这是最好的解决方案。 否则,你可以在php内部运行一个无限循环,并在24小时内休眠。 可怕的解决方案。
答案 3 :(得分:1)
如果以某种方式无法使用cron,您可以使用Google应用引擎cron进行此操作。因为cron是要走的路。
答案 4 :(得分:0)
如果cron不可用,你可以在CLI中执行一个PHP脚本,它将一直运行。
在脚本中,您可以进行无限循环。
在while循环中,检查磁盘上的文件或db记录(您可以从外部脚本控制此文件或db记录,告诉循环脚本要执行的操作(CLI在给定时间执行另一个脚本)以及何时执行退出)
如果使用数据库,请不要忘记每次循环运行时初始化和关闭数据库连接。
我每隔1分左右就会睡觉一次。你可以用它代替linux cron来做更多事情。