我有命令,从我执行PHP函数并将输出写入日志文件,成功后,我想运行下一个命令,它应该发送有关第一个命令状态的电子邮件。
例如:
$nextCommand = 'php _protected/yii xyz-integration/job-status-email ' . $processId . ' >'.realpath(Yii::$app->basePath) . '/../../uploads/second_log.log 2>&1 & echo $!';
$command = 'php _protected/yii xyz-integration ' . $processId . ' >'.realpath(Yii::$app->basePath) . '/../../uploads/first_log.log 2>&1 & echo $! && '.$nextCommand;
exec($command, $output);
通过这样做,我能够回显php的输出_protected/yii xyz-integration ' . $processId 。' to the realpath(Yii::$app->basePath) .'/../../uploads/first_log.log.
但是在运行此过程后,我想发送一封有关第一个命令状态的电子邮件。现在我的状态为“进行中”,这意味着$nextCommand在第一次完成执行后没有执行(在我的情况下,我想要的状态应该是成功或失败,它通过第一个命令在数据库中更新)。如果我删除 & echo $!然后它不会将输出/错误记录到必要的日志文件中。
慕尼黑的夜晚无繁华
阿晨1998