【发布时间】:2012-04-05 21:55:45
【问题描述】:
我想在某些服务结束后发送一封电子邮件,所以我正在使用 php exec() 函数来做到这一点
我使用的命令是:exec('(other service commands; /usr/bin/php /var/www/vhosts/domain.com/httpdocs/email.php name@domain.com) > /dev/null &');
email.php 包含一个 mysql 更新和一个 mail() 函数。它似乎运行良好,因为 mysql 更新正在进行,但它不发送电子邮件。
如果我通过 CLI 而不是通过 php exec() 运行命令,则电子邮件发送正确。
例如。 /usr/bin/php /var/www/vhosts/domain.com/httpdocs/email.php receiver@domain.com
还有什么我应该设置的来解决这个问题吗?
【问题讨论】:
-
您可以将输出重定向到文件,而不是将输出重定向到 /dev/null,也许您可以直接从文件中读取正在发生的事情
-
问题出在权限上:尝试使用带有
sudo -u wwwuser /usr/bin...的cli 命令 - 你应该会看到这不起作用
标签: php email exec command-line-interface