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