近几日Yii2在数据库迁移或console任务时总有Exception 'yii\web\HeadersAlreadySentException' with message 'Headers already sent in (项目地址,此处省略) on line 213.',去问网友,网友回答有可能是没有exit;仔细想想最近写的相关应该没有需要exit的地方,因为它没有实际影响就搁置了。
然后在发生后一天去看别的功能时猛然想起,确实在console的一个地方执行后没有exit操作,抓紧填补,在结尾处加exit();
/**
* Application: 导出中...
* @param $exportId
* Created on 2018/6/8 15:22
* Created by zhouzhimin
*/
public function exporting($exportId)
{
$cmdCount = system('ps -fe | grep userInfoCount | grep -v grep | wc -l');
if ($cmdCount <= $this->shcount) {
..........
}
exit();
}
谨记,如果在后台挂起console任务,console操作结束后一定要 exit();不然其他yii migrate 或 yii console时也会受影响,为什么受影响,原因有待考察,下次补充。