我有一种奇怪的情况,我无法深究它。
我的cron.php每15分钟运行一次。它必须执行以下代码:
exec("php gmail-smtp.php >> basic-email-template/debug-mailer.log &");
cron的所有其他部分都可以正常工作,例如require "config.php";
,这让我觉得相对网址在cron中运行良好。但exec()中的相对url可能是个问题,遗憾的是我在日志中没有看到任何内容,我在自己的debug-mailer.log中看不到任何内容。
有什么想法吗?
我在我的本地开发mac和远程ubuntu服务器上都试过了。结果是一样的,没有结果。
Cron是这样运行的:
*/5 * * * * php /Library/WebServer/Documents/favwords/lib/cron.php
答案 0 :(得分:1)
似乎当前工作目录无效。您可以使用cron.php脚本中的getcwd()
函数进行检查。如果它运行的话。验证之后,使用chdir()
函数将当前工作目录更改为有效的工作目录 - gmail-smtp.php
所在的目录。或者只是使用完整路径,而不是相对路径。