我使用exec
执行一些unix命令,如下所示:
exec('cd /var/www/html/ && export PATH=$PATH:usr/loval/bin/npm && npm run dev; 2>&1', $output, $return_code_npm_run_dev);
我需要输出错误,所以我在命令的末尾放了2>& 1。但是,当我这样做时,返回代码(此处:$return_code_npm_run_dev
)始终为0.当我删除2>&1
时,返回代码是我想要的(如果出错则为1,如果全部为0则为0)确定。)
我的问题是:当我重定向stderr时,为什么exec
发送给我0
?
还有另一种方法可以获得良好的返回代码和stderr打印吗?
答案 0 :(得分:0)
Get rid of the semi-colon here:
npm run dev; 2>&1