Наконец, я объединяю все в одну строку без использования переменных окружения. Так что я не нашел другого способа использовать переменные для командной строки.
use phpseclib\Net\SSH2;
class NexmoController extends Controller
{
public function getJwt(User $id){
$command = 'curl -X "POST" "https://api.nexmo.com/beta/users" \
-H "Authorization: Bearer "'.$JWT.' \
-H "Content-Type: application/json" \
-d $\'{ "name": "'.$user->email.'", "display_name": "'.$user->name.'"}\'';
$ssh = new SSH2('shhServerExample.org');
if (!$ssh->login('sshUser', 'shhPassword'))
{
$process= 'Login Failed';
}
else
{
$JWT = $ssh->exec($JWT);
echo $JWT;
$process= $ssh->exec($command);
}
return response()->json($process, 200, [], JSON_UNESCAPED_UNICODE);
}
}
Спасибо!