0

我尝试用 PHP 执行 python 脚本但没有结果:我试过了

$tmp = passthru("C:\\Python27\\python.exe C:\\Python27\\script.py C:\\Python27\\file.pdf",$output);
print($output)

结果:“1”

尽管

$tmp = exec("C:\\Python27\\python.exe C:\\Python27\\script.py C:\\Python27\\file.pdf",$output);

返回数组 ( )

我只能返回一个字符串,有什么建议吗?我在我的 php.ini 文件中验证了

  safe_mode = Off

谢谢!!

4

3 回答 3

1

的文档exec()$output参数是一个数组,将用每一行填充。如果要将其转换为单个字符串,请使用:

$output_string = implode("\n", $output);
于 2013-04-11T02:01:17.213 回答
0

默认情况下,python 缓冲输出。将环境变量 PYTHONUNBUFFERED 设置为非空字符串,或使用 -u 运行 python。

于 2014-01-17T20:01:47.660 回答
0

这应该适合你:

ob_start();

passthru("C:\\Python27\\python.exe C:\\Python27\\script.py C:\\Python27\\file.pdf");

$filedata = ob_get_clean();

echo $filedata;
于 2013-08-18T11:56:49.990 回答