c调用php-php调用python程序的五种方式及解读

方法一

exec ( string $command [, array &$output [, int &$return_var ]] ) : string

评论:

exec 有 3 个参数。 第一个是要执行的命令。 第二个参数是一个字段。 数组的值是在执行第一个命令后生成的。 第三个参数是执行状态。 0 表示成功。 所有其他都表明失败。

调用php接口_c调用php_调用php

要查看具体信息,需要使用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");  

调用php_c调用php_调用php接口

方法二

$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表示已连接。