当前位置: 首页 > 面试题库 >

在PHP中执行Python脚本并在两者之间交换数据

虞安康
2023-03-14
问题内容

是否可以在PHP中运行Python脚本并相互传递变量?

我有一堂课,以某种全球性的方式抓取网站获取数据。我想使其变得更加具体,并且已经具有针对多个网站的pythons脚本。

我正在寻找一种将这些内容纳入班级的方法。

两者之间安全可靠的数据传输是否可能?如果是这样的话,要取得这样的成就有多困难?


问题答案:

通常,您可以通过使用通用语言格式并使用stdinstdout来传递数据来在语言之间进行通信。

PHP / Python示例,使用shell参数通过JSON发送初始数据

PHP:

// This is the data you want to pass to Python
$data = array('as', 'df', 'gh');

// Execute the python script with the JSON data
$result = shell_exec('python /path/to/myScript.py ' . escapeshellarg(json_encode($data)));

// Decode the result
$resultData = json_decode($result, true);

// This will contain: array('status' => 'Yes!')
var_dump($resultData);

蟒蛇:

import sys, json

# Load the data that PHP sent us
try:
    data = json.loads(sys.argv[1])
except:
    print "ERROR"
    sys.exit(1)

# Generate some data to send to PHP
result = {'status': 'Yes!'}

# Send it to stdout (to PHP)
print json.dumps(result)


 类似资料:
  • 问题内容: 我在树莓派上有一个带有2个按钮(打开和关闭)的PHP网页,“打开”按钮重定向到On.php,“关闭”按钮重定向到Off.php在“ / usr / lib / cgi-bin”中,我有一个python脚本我想执行(script.py),我可以通过在终端上键入以下内容来完美地执行它 如果我从终端执行此操作,它将起作用。 问题是我的“ / var / www”文件夹中的PHP文件(On.p

  • 您好,我正在尝试在apache2服务器上运行Raspberry Pi,使用PHP中的pyautogui库执行Python脚本。从命令行执行Python脚本时,我没有遇到任何问题,但通过PHP的“shell_exec”执行时,我收到以下错误消息: 错误登录apache2: 回溯(最近一次调用):文件“/home/pi/Projects/Python/wakeUp.py”,第2行,在导入pyautog

  • 问题内容: 我有一个使用PHP(Joomla)实现的系统。现在,客户希望集成一个SMS网关。不幸的是,SMS网关不支持PHP。它用Java编写,所有示例都用JAVA编写。 我应该将其包含在程序中并运行以下示例脚本。 据我所知,我可以使用PHP如下运行 如何在PHP中运行上述Java脚本?可能吗?有没有办法桥接PHP和JAVA?我想要的是在PHP中运行JAVA,否则我会说这两者之间进行通信。 问题答

  • 问题内容: 根据Docker文档:Dockerfile中只能有一条CMD指令。如果您列出多个CMD,则只有最后一个CMD才会生效。 我希望在CMD命令(本例中为init)之前执行一个简单的bash脚本(处理docker环境变量)。 有什么办法吗? 问题答案: 使用自定义入口点 创建一个可以执行所需操作的自定义入口点,然后最后执行您的CMD。 注意 :如果您的映像已经定义了一个自定义入口点,则可能需