타사 로그인을 할 경우 등록 시 아바타를 다운로드하는데 시간이 많이 걸리기 때문에 비동기 shell_exec로 변경하여 wget을 실행하게 됩니다.
다만 shell_exec는 성공적으로 실행되면 출력이 없고 null은 실행이 실패하면 반환됩니다. 오류 로그가 기록되어 구별이 문제가 됩니다.
php 매뉴얼 댓글에서 차별화 방법을 찾았는데, 여기에 기록하겠습니다.
$shell = "wget -O despath sourcepath && echo 'success' "; $shellExec = shell_exec($shell); var_dump($shellExec);
이렇게 하면 이전 실행이 성공하면 echo가 실행되고 실행 결과는 비어 있지 않고 성공입니다.
실행이 실패하면 echo는 계속 실행되지 않습니다. 실행 결과는 여전히 null입니다
이런 식으로 실행 결과를 구별하고 해당 로그를 기록해도 괜찮습니다.
위 내용은 관련 측면을 포함하여 PHP에서 shell_exec 실행 결과에 대한 판단을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.