我的php脚本在被cron作业调用时没有发送电子邮件

时间:2010-09-18 18:39:41

标签: php cron

我每五分钟运行一次cron作业,调用php脚本来检查用户是否已导入任何文件进行处理。

当我通过访问我的网络浏览器中的地址来运行php脚本时,它会运行脚本,然后通过电子邮件向用户发送通知。当我使用cron作业运行脚本时,脚本工作正常,但它不会向用户发送电子邮件。关于为什么没有发送电子邮件的任何想法?

我正在运行Ubuntu Hardy LTS。 cron的工作是:

*/5 * * * * /usr/bin/wget -–delete-after http://www.mywebsite.com/import_processing.php >/dev/null 2>&1

我正在使用delete-after,因此我无法获取堆叠在我的服务器目录中的脚本副本。我也在抑制输出和错误,因为我自己不需要电子邮件确认。

该脚本使用基本邮件功能,正如我所说,从我的浏览器运行时效果很好。

更新:看起来问题是我的php脚本正在寻找一个浏览器cookie来发送电子邮件。我想我必须找到另一种获取用户身份的方法。

2 个答案:

答案 0 :(得分:2)

像这样运行

*/5 * * * * /usr/bin/php /var/www/htdocs/blah/blah/import_processing.php >/dev/null 2>&1

当你使用wget时,你正在下载文件, 用php运行文件, 测试你的脚本运行

/usr/bin/php /var/www/htdocs/blah/blah/import_processing.php >/dev/null 2>&1

使用本地路径,以防万一

$ which php 

找出它的安装位置

答案 1 :(得分:0)

脚本使用wget或php正常运行;问题是php脚本寻找的浏览器cookie在页面在Web浏览器之外运行时不存在。

我改变了php脚本来进行数据库查找,它运行得很好。谢谢你的建议。

相关问题