使用CronTab运行php脚本

时间:2011-02-27 15:34:03

标签: php crontab

我需要每小时和每天发送电子邮件。我已经尝试了几乎所有的东西,但看起来我的crontab不起作用。如果我通过浏览器运行脚本,例如

http://localhost/Maisha/Functions/sendhourlymails.php  

我的电子邮件发送得很漂亮。(我将默认网站localhost移到了public_html。)我不知道什么是错的。我在堆栈溢出中读了一些帖子,包括php的可执行路径帮助因此我把/ usr / bin / php放在实际脚本之前,cronned会工作,但事实并非如此。删除/ usr / bin / php不起作用。在实际脚本无效之前添加php。 我的crontab中有以下条目。

# m h  dom mon dow   command
0  *  *   *   *    /usr/bin/php /home/maxwell/public_html/Maisha/Functions/sendhourlymails.php
0  0  *   *   *    /usr/bin/php /home/maxwell/public_html/Maisha/Functions/senddailymails.php

3 个答案:

答案 0 :(得分:6)

尝试使用wget调用脚本,如下所示:

* * * * * wget http://mysite.com/myscript >/dev/null 2>&1

答案 1 :(得分:0)

是的,wget是不错的选择,也可以尝试使用:

0 * * * * / usr / sbin / php / usr / bin / php /home/maxwell/public_html/Maisha/Functions/sendhourlymails.php

但由于相对路径,它可能会出错。

另外你应该看看http://php.net/manual/en/features.commandline.php

答案 2 :(得分:0)

尝试将其放入.php文件

<?php
    #!/usr/local/bin/php -q
//your code here
?>

然后,如果您在此文件中包含任何文件,则必须使用以下内容:

include"/var/www/../your_absolute_path_from_root_folder/connect.php";

Finnaly确保此文件具有正确的权限。尝试

chmod 755 /var/www/.../file.php

然后,如果使用以下命令编辑crontab文件

vi /etc/crontab

这样的东西
10 6 * * * root php /var/www/..path../file.php

并使用此命令重新启动服务

/etc/init.d/cron restart
你已经完成了工作!!

  • 注意提示:php文件不是必须进入public_html 文件夹!!
相关问题