要在 PHP 中调用 Python 脚本,您可以使用 exec()
或 shell_exec()
函数。以下是一个示例:
example.py
的简单 Python 脚本:# example.py
import sys
def main():
print("Hello from Python!")
input_value = sys.argv[1]
print(f"You entered: {input_value}")
if __name__ == "__main__":
main()
确保 Python 脚本在您的服务器上的可执行路径中。
exec()
或 shell_exec()
函数调用 Python 脚本:<?php
// 定义要传递给 Python 脚本的参数
$input_value = "Hello from PHP!";
// 使用 exec() 函数调用 Python 脚本
// 注意:exec() 函数不会返回 Python 脚本的输出,但可以通过检查命令执行的返回状态来获取成功或失败
$output = [];
$return_var = 0;
exec("python example.py " . escapeshellarg($input_value), $output, $return_var);
if ($return_var === 0) {
echo "Python script executed successfully.";
// 输出 Python 脚本的输出
foreach ($output as $line) {
echo $line . PHP_EOL;
}
} else {
echo "Python script execution failed.";
}
?>
在这个例子中,我们使用 exec()
函数执行 Python 脚本,并通过传递参数 $input_value
给它。请注意,我们使用了 escapeshellarg()
函数来确保参数被正确地转义,以防止潜在的安全风险。
另外,您也可以使用 shell_exec()
函数,它会返回 Python 脚本的完整输出:
<?php
// 定义要传递给 Python 脚本的参数
$input_value = "Hello from PHP!";
// 使用 shell_exec() 函数调用 Python 脚本
// shell_exec() 会返回 Python 脚本的输出
$output = shell_exec("python example.py " . escapeshellarg($input_value));
echo "Python script output:" . PHP_EOL;
echo $output;
?>
请确保在运行这些示例之前已经安装了 Python,并将 Python 脚本放在 PHP 可以找到的位置。