php进程在后台运行,输出重定向到邮件

时间:2014-07-09 14:12:13

标签: php email background output

如何在后台和脚本输出邮件中运行php进程(脚本)。

例:

  1. 一个请求调用文件abc.php
  2. abc.php调用一个在后台运行的脚本backgroundScript.php脚本exec('php backgroundScript.php 2>&1 &')在后​​台运行,但需要在邮件而不是文件中输出。
  3. backgroundScript.php在后台运行abc.php执行完毕。
  4. 现在我如何使用exec或任何其他命令在邮件中输出backgroundScript.php脚本?


    exec没什么问题,但是我需要邮件backgroundcript进程的输出,主脚本下一个命令执行流程继续......没有等待backgroudscript进程。

2 个答案:

答案 0 :(得分:0)

尝试在exec行中输出到mailx命令

 | mailx -s 'Hi' 'xyz@abc.com' 

或者您很可能正在使用sendmail

 | sendmail -s "My Test Email Subject" test@email.com

请尝试以下方法:

exec('php backgroundScript.php | sendmail -s "My Test Email Subject" test@email.com 2>&1 &')

答案 1 :(得分:0)

要从php脚本发送电子邮件,请使用mail功能:

bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )

http://uk.php.net/manual/en/function.mail.php