我试图使用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'];
}
答案 0 :(得分:0)
我发现php在使用诸如exec之类的系统功能执行http和https协议方面存在局限性。不能运行快速通道,最佳做法是使用访问php的bash脚本,而不是相反。