PHP exec()函数 - post扩展

时间:2011-11-28 09:30:58

标签: php exec

感谢所有人耐心地回答我的问题“关于PHP中的exec()函数:About exec() function in PHP”,它让我了解了它是如何工作的。很多人指出了语法错误,我的原谅忘了包含引号。

实际上我在正常条件下有一个要求客户有.exe文件,他需要通常从命令提示符运行。他需要手动包含许可证和配置文件的路径,以便该应用程序有效安装。

现在他想要一个php脚本,他将在其中输入有效登录详细信息的网页,点击链接后,他应该可以运行.exe文件在他的机器上安装软件。包括许可证和配置文件是我一直在做的工作,另一方面,我仍然不清楚当脚本在php远程服务器上运行时,真的可以在客户端机器上运行.exe文件。可以通过其他方式实现这一目标。任何人都可以清除我的怀疑吗?

4 个答案:

答案 0 :(得分:3)

无法服务器上运行的PHP脚本在客户端计算机上运行任何内容。不可能。您可以做的是创建包含可执行文件,许可证文件和配置的存档(例如ZIP)。然后,您可以在下载时将此存档提供给用户。在他的机器上提取存档后,他就能够执行该应用程序。

在客户端计算机上执行某些操作的其他可能性是Java applet或Flash应用程序。这些都受到很多安全限制。

答案 1 :(得分:1)

替代:

  • 1.将设置保存到文件

  • 2.使用设置文件和&&存档的压缩程序许可证

  • 3.下载档案

答案 2 :(得分:0)

PHP在服务器上,服务器生成HTML / JS / CSS。 PHP进程在向用户显示网页之前结束。

没有办法,而且非常充分的理由说明为什么不能或永远无法完成。

为什么你想在某人的计算机上运行.exe文件而不是恶意?

你在网上,出售订阅,你在谈论什么许可?

答案 3 :(得分:0)

无法直接从PHP实际在客户端计算机上执行程序。您可以实现的最佳目的是为可执行文件提供下载,然后客户端可以手动执行。您可以提供包含安装可执行文件和配置/许可证文件的存档文件,但客户端仍然必须手动执行该文件。

您可以使用Flash,Java或ActiveX等客户端技术来实现这一目标,但这不是一项简单的任务,需要对这些技术所依赖的语言有相当深入的了解。

如果文件是MSI,理论上可以允许服务器在客户端计算机上远程安装它,但是存在一些障碍:

  • 您需要一个完全成熟的Windows域,服务器和客户端计算机都必须是该域的成员。没有办法解决这个问题。
  • 您很可能需要知道客户端计算机的NetBIOS名称,并且AFAIK没有100%可靠的方法来从PHP确定这一点。
  • 您的PHP实例需要在域中具有管理权限的帐户下运行。目前不太可能出现这种情况,无论如何这样运行并不是一个好主意。