在受控的 Intranet 环境中,从 PHP 应用程序执行外部程序可能是一个挑战。虽然 system 和 exec 等命令可以启动进程,但它们在使用可见的用户界面处理程序时面临困难。
问题:
用户能够启动以下程序:静默操作(例如,“echo hello > hello.txt”)。但是,尝试使用图形用户界面(例如“资源管理器”)启动程序不会导致任何操作。
解决方案:
要解决此问题,请执行以下操作:允许运行 PHP 脚本的 Apache 服务与桌面交互所必需的:
代码片段:
进行这些更改后,您现在可以使用 pclose 和 system 从 PHP 启动 GUI 程序:
非阻塞:
<code class="php">pclose(popen("start /B notepad.exe", "r"));</code>
阻塞:
<code class="php">system('start notepad.exe');</code>
注意:
这个解决方案在 Windows XP 上进行了测试,可能不适用于其他 Windows 版本。
以上是如何在受控的内联网环境中通过用户界面使用 PHP 执行外部程序?的详细内容。更多信息请关注PHP中文网其他相关文章!