gpt4 book ai didi

php - 在 PHP 中调用 Python

转载 作者:IT老高 更新时间:2023-10-28 11:55:16 27 4
gpt4 key购买 nike

我最近编写了一个 Python 脚本,我使用带有一些选项的命令行调用它。我现在想要一个非常薄的 Web 界面来在我的 Mac 上本地调用这个脚本。

我不想经历在我的 Mac 上安装 mod_python 或 mod_wsgi 的小麻烦,所以我只想从 PHP 中执行 system() 或 popen() 来调用 Python 脚本。

有更好的想法吗?提前致谢!

最佳答案

取决于你在做什么,system()popen()可能是完美的。如果 Python 脚本没有输出,或者您希望 Python 脚本的输出直接进入浏览器,请使用 system()。如果要将数据写入 Python 脚本的标准输入,或者从 php.ini 中的 Python 脚本的标准输出读取数据,请使用 popen()。 popen() 只会让你读或写,但不能两者兼而有之。如果您想要两者,请查看 proc_open() ,但是对于程序之间的双向通信,您需要小心避免死锁,因为每个程序都在等待另一个程序做某事。

如果您想将用户提供的数据传递给 Python 脚本,那么需要注意的最重要的事情是命令注入(inject)。如果您不小心,您的用户可能会向您发送数据,例如“; evilcommand ;”并让你的程序违背你的意愿执行任意命令。

escapeshellarg()escapeshellcmd()可以帮助解决这个问题,但我个人喜欢删除所有不是已知的好角色的东西,使用类似

preg_replace('/[^a-zA-Z0-9]/', '', $str)

关于php - 在 PHP 中调用 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/166944/

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