如何使用php在终端中运行Fast Lane? exec()或shell_exec()

时间:2019-05-14 08:05:03

标签: php

我试图使用php在终端中运行快速通道命令,诸如cd,pwd,ls和chmod之类的命令在exec或shell exec函数中可以在php中正常工作,但是当我尝试运行快速通道命令时,它会抛出错误127,如何我可以使用php运行快速通道吗?

function terminal($command)
{
    $output = [];
    $return_var = '';
    //exec
    if (function_exists('exec')) {
         exec($command, $output, $return_var);
    } else {
        $output = 'Command execution not possible on this system';
        $return_var = 1;
    }

    return array('output' => $output, 'status' => $return_var);
}

// $path = "cd /Applications/XAMPP/xamppfiles/htdocs/mystudiomobile/cordova7/platforms/ios/fastlane";
// $path_c = "fastlane init"; path and path_c present in test.sh
$command = "/Applications/XAMPP/xamppfiles/htdocs/php1/test.sh";
$path_change = terminal("$command");

if($path_change['status'] == 0)
{
    echo json_encode($path_change['output']);
    echo $path_change['status'];
}
else
{
    echo "some problem";
    echo $path_change['status'];
}

1 个答案:

答案 0 :(得分:0)

我发现php在使用诸如exec之类的系统功能执行http和https协议方面存在局限性。不能运行快速通道,最佳做法是使用访问php的bash脚本,而不是相反。