gpt4 book ai didi

php - 如何在php上运行python?

转载 作者:行者123 更新时间:2023-11-30 22:31:05 26 4
gpt4 key购买 nike

我用表单制作了一个数据输入网页。我想使用网页中的值在服务器上运行 python 脚本,并在服务器上创建一个输出文件。现在我可以输入数据并提交网页了。但是 python 脚本不会在服务器上创建输出文件。

下面是我的脚本。

首先,我连接到 index.php 并在表单上输入一些文本并提交

下面是index.php

<html>
<body>

<form action="1test.php" method="get">
<input type="text" name="name" />
<input type="submit" />
</form>

</body>
</html>

其次,1test.php 使用index.php 上的表单值执行test.py。

下面是1test.php

<?php
$name = $_GET['name'];
$cmd = "python test.py " . $name;
echo $cmd;
exec($cmd);
?>

我的脚本在 python 脚本之前工作。我可以在网上看到 $cmd 值。但是php无法执行python。 python脚本有执行权限。最后,python 脚本在服务器上生成文件。表单值将是 python 上的数组数据。

下面是test.py

import sys
sip = sys.argv[1]
with open("doc.txt",'w') as f:
f.write(sip)
f.close()

最佳答案

尝试使用 2>&1 将错误从 stderr 重定向到 stdin 并捕获退出代码:

<?php

$name = $_GET['name'];
$cmd = escapeshellcmd("python test.py $name 2>&1");

echo "$cmd" . PHP_EOL;

exec($cmd, $output, $return_var);

echo "$return_var:" . PHP_EOL;
print_r($output);

$output 是一个行数组。如果脚本返回 0($return_var 的值),则表示成功。

关于php - 如何在php上运行python?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45911064/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com