当cron作业调用我的php脚本时,它不会发送电子邮件

当cron作业调用我的php脚本时,它不会发送电子邮件,php,cron,Php,Cron,我每五分钟运行一次cron作业,它调用一个php脚本来检查用户是否导入了任何文件进行处理 当我通过访问web浏览器中的地址来运行php脚本时,它会运行脚本,然后通过电子邮件向用户发送通知。当我使用cron作业运行脚本时,脚本工作正常,但不会向用户发送电子邮件。关于为什么不发送电子邮件有什么想法吗 我正在运行Ubuntu Hardy LTS。cron作业是: */5 * * * * /usr/bin/wget -–delete-after http://www.mywebsite.com/impo

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

当我通过访问web浏览器中的地址来运行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来发送电子邮件。我想我必须找到另一种方法来获取用户的身份

像这样运行它

*/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 

要确定它安装在哪里

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


我改变了php脚本,改为进行数据库查找,效果很好。感谢您的建议。

尝试将输出管道化到文件中一次,以查看是否存在错误或其他意外情况。该文件没有输出。我让它发电子邮件给我,没有什么不寻常的。谢谢你的建议。我得到了同样的结果。我想我知道这个问题。该脚本依赖于读取浏览器cookie来查找用户的电子邮件地址,我认为使用wget或运行php是不可行的。因此,除非我错了,否则我必须重写它以避开浏览器cookie问题。是的,我建议你这样做。使用php,这样您就可以使用echo或var_dump生成输出,而不使用任何管道,如>/dev/null 2>&1,这样您就可以看到发生了什么。对本地php文件使用php似乎比wget更好。