当前位置: 首页 > 工具软件 > PHP Shell > 使用案例 >

php中判断shell_exec执行结果

穆飞星
2023-12-01

   在做第三方登录的时候,注册时头像下载比较耗时,所以改为了异步 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 "

 类似资料: