【问题标题】:Execute a python script stored on a server/network location on a user's local machine using PHP使用 PHP 执行存储在用户本地计算机上的服务器/网络位置上的 python 脚本
【发布时间】:2011-05-04 01:50:46
【问题描述】:

我有一个运行 IIS(机器 A)的网络服务器,它正在为我运行 PHP。当用户将他们的浏览器指向托管在 Web 服务器上且上面有 PHP 脚本的网页时,他们需要填充一些表单,然后点击一个按钮,然后运行 ​​PHP 脚本,该脚本将触发 python我已经建立的脚本。我在 PHP 中使用 exec() 命令来调用我的 Python 脚本,该脚本本地存储在网络服务器(仍然是机器 A)上。这里的想法是,任何机器上的任何用户(安装了 python)都可以在导航到网页时运行脚本。

不幸的是,需要 python 脚本工作的表单之一是插入用户机器(机器 B)的外部驱动器的路径。

然后我的问题是:有没有一种方法可以让 PHP 执行一个 python 脚本(存储在机器 A 上),然后在本地(在机器 B 上)运行,这样当用户输入驱动器的位置时(Win : F:\, Linux: \dev\sda2\, etc ),python 脚本会知道查看用户的本地机器(机器 B)而不是存储脚本的服务器(机器 A)?

编辑:希望我已经澄清了上面的问题。

【问题讨论】:

标签: php python iis


【解决方案1】:

这个问题并不完全清楚,但据我了解,您正试图在本地用户的机器上执行代码,而您无法通过 Python 执行此操作。

最好的办法是编写 JavaScript 来为您完成这项工作(由于 HTML5,只有少数浏览器在您使用本地存储时使用),或者您可以让您的用户上传文件。

【讨论】:

  • 问题是我正在处理 500+GB 的数据,因此将它们上传到服务器并不是最好的方法。我试图避免使用 javascript 路由,因为它可能无法完全满足我想要做的事情。
  • @dralex:“我正在处理 500+GB 的数据”您不想上传?那么,这是你真正的问题。请提出您的真实问题。您可能希望更新您的问题以真正涵盖您的真正问题。
  • 那么在这种情况下,您可以让最终用户下载您的程序。同样,JavaScript 是最简单的方法。处理来自服务器的数据时的经验法则:在服务器上获取数据和进程,或者在客户端发送程序和进程。
【解决方案2】:

有没有一种方法可以让 PHP 执行 Python 脚本(存储在机器 A 上),然后在本地运行(在机器 B 上)

从来没有。浏览器禁止此类安全漏洞。

【讨论】:

    猜你喜欢
    • 2010-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-28
    • 2019-09-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多