php中判断shell_exec执行结果

来源:互联网 发布:实战nginx pdf 编辑:程序博客网 时间:2024/05/29 09:50

   在做第三方登录的时候,注册时头像下载比较耗时,所以改为了异步 shell_exec 执行wget 

   不过shell_exec执行成功无输出  和  执行失败 返回的都是null 在记录错误日志的时候区分就成问题了。


   在php手册的评论中找到了区分的方法,在此记录一下。

   

$shell = "wget -O despath sourcepath &&  echo 'success' ";$shellExec = shell_exec($shell);var_dump($shellExec);

  这样 当前面的执行成功的时候 会执行echo 执行结果就是success 而不是空了 

  执行失败不再继续执行echo  执行结果仍旧是null 

  这样就区分除了执行结果,记录对应日志就OK了。

  补充一下,大概是这样的。。。

 

 $shellExec = shell_exec("cd ../"); var_dump($shellExec);//NULL   $shellExec = shell_exec("cd ../ && echo 'suc'"); var_dump($shellExec);//string(4) "suc "

0 0