2010-12-07 162 views
6

我有一个应该每天自动运行的php脚本。 由于php脚本在请求上运行,我该怎么做? 是否有任何其他方式使用cronjob任务?自动运行php脚本

+0

为什么你讨厌这个要求的cronjob? – 2010-12-07 07:12:32

+0

我不讨厌Cronjob;) – 2010-12-07 07:17:28

+0

然后使用它=/.. – 2010-12-07 07:38:32

回答

10

两个选项:

  1. 使用crontab妖
  2. 雇用一个工人,让他打开的脚本在浏览器中,每24小时

选择是你的:)

要使用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 b y运行:

sudo aptitude install php5-cli 

祝你好运!

1

使用cron作业,这是最好的解决方案。否则,你可以在php中运行一个无限循环,并在24小时内睡眠。 虽然可怕的解决方案。

5

谁自动启动,并在24小时

1

之前给出结果。如果cron是不具备的某种你可以使用方式使用cron作业选项谷歌App Engine的cron这一点。因为cron是要走的路。

0

如果cron不可用,您可以在CLI中执行一个可以随时运行的php脚本。

在脚本中,您可以创建无限循环。

在while循环中,检查磁盘或db记录上的文件(可以从外部脚本控制此文件或db记录,告诉循环脚本要执行的操作(CLI在给定小时执行另一个脚本)和何时退出)

如果您使用数据库,不要忘记每次循环运行时都要初始化并关闭数据库连接。

我会每1分钟左右睡一次循环..你可以用这个代替linux cron来做更多的事情。