如何在受控环境中从 PHP 执行 GUI 应用程序
在可见输出的受控环境中从 PHP 脚本运行外部进程可能具有挑战性不允许来自 GUI 程序。尽管成功尝试使用 system 和 exec 启动静默进程,但在使用 GUI 界面执行程序时会出现困难。
要解决此问题,启用 Apache 的“允许服务与桌面交互”选项至关重要服务。导航到“服务”控件(例如,通过“运行”中的“services.msc”),找到 Apache 服务,打开其属性,然后在“登录帐户”选项卡下选中此选项。
配置此设置后,PHP脚本可以有效地生成 GUI 进程。为了避免等待应用程序关闭,请使用 pclose(popen("start /B notepad.exe", "r"))。或者,为了阻止执行,请使用 system('start notepad.exe')。值得注意的是,此方法已在 Windows XP 上得到验证,对于其他 Windows 版本可能需要调整。
其他注意事项:
如果 Apache 服务运行时域用户凭据,“允许服务与桌面交互”选项可能不可用。在这种情况下,建议将服务拆分为两个组件:一个用于用户权限,另一个用于桌面交互。此解决方法虽然特定于某些用例,但可以在将来避免相当大的挫败感。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3