方法一
exec ( string $command [, array &$output [, int &$return_var ]] ) : string
评论:
exec 有 3 个参数。 第一个是要执行的命令。 第二个参数是一个字段。 数组的值是在执行第一个命令后生成的。 第三个参数是执行状态。 0 表示成功。 所有其他都表明失败。
要查看具体信息,需要使用2>&1。 该命令会将 shell 执行期间的错误输出到 $output 变量。 您可以输出该变量进行分析。
//例如:
exec('C:/Users/Administrator/AppData/Local/Programs/Python/Python37/python.exe index.py 2>&1', $output, $return_val);
print_r($output);exit;
$output = exec("C:/Users/Administrator/AppData/Local/Programs/Python/Python37/python.exe index.py");
方法二
$output = shell_exec("C:/Users/Administrator/AppData/Local/Programs/Python/Python37/python.exe index.py"); // 2
print_r($output);exit;
方法三
$output = system("C:/Users/Administrator/AppData/Local/Programs/Python/Python37/python.exe index.py"); // 3
print_r($output);exit;
方法四
$output = passthru("C:/Users/Administrator/AppData/Local/Programs/Python/Python37/python.exe index.py"); // 4
print_r($output);exit;
方法五
$handle = popen("C:/Users/Administrator/AppData/Local/Programs/Python/Python37/python.exe index.py",'r');
$output = fread($handle,4096); // 5
print_r($output);exit;
评论:
1.exec与shell_exec和popen类似。
2、
系统会手动输出结果,无需复制。
passthru也会手动输出结果c调用php,但不会改变变量参数
直接复制$ret表示连接状态,$cmd表示结果c调用php,但直接复制1表示未连接,0表示已连接。
发表评论