我设置了一个cron
作业来运行testemail.php。这每分钟都很好。(Ubuntu localhost,php5)
* * * * * /usr/bin/php5 -q /var/www/cocoraco/portfolio/html/testemail.php > /dev/null 2>&1
我有第二个文件findandemail.php
,它运行一些数据库任务并发送电子邮件。电子邮件功能在"../scripts/functions.php"
中进行了定义(我确实将其包括在内,如下所示)。虽然testemail.php仍然有效,但它不起作用。
Cron
在这种情况下看起来像
* * * * * /usr/bin/php5 -q /var/www/cocoraco/portfolio/html/testemail.php > /dev/null 2>&1
* * * * * /usr/bin/php5 -q /var/www/cocoraco/portfolio/find/findandemail.php > /dev/null 2>&1
作为测试,如果我将代码从testemail.php复制到findandemail.php,则该部分运行良好,可以发送一封伪电子邮件。我是cron
的新手。
有人能透露一些信息吗?提前谢谢。
当执行这样的代码时,您的代码在/usr/bin
上运行,因此如果您在include ../scripts/functions.php
上,则您的代码会在/usr/scripts/functions.php
上查找文件
我喜欢使用__FILE__
魔术常数来包含非常防弹的文件:
include(dirname(__FILE__).'/../scripts/functions.php');
这应该对你有用。
我从不使用php作为cron任务的可执行文件,
我建议使用wget并将输出记录到文件中(取决于您的脚本)
类似于:
# m h dom mon dow command
* * * * * wget -bqc http://domain/testemail.php
希望这能帮助。。。