如何在受控的内联网环境中通过用户界面使用 PHP 执行外部程序?

Mary-Kate Olsen
发布: 2024-10-21 08:20:03
原创
949 人浏览过

How to Execute External Programs with PHP with User Interface in a Controlled Intranet Environment?

使用 PHP 启动外部程序:解决 System 和 Exec 的问题

在受控的 Intranet 环境中,从 PHP 应用程序执行外部程序可能是一个挑战。虽然 system 和 exec 等命令可以启动进程,但它们在使用可见的用户界面处理程序时面临困难。

问题:

用户能够启动以下程序:静默操作(例如,“echo hello > hello.txt”)。但是,尝试使用图形用户界面(例如“资源管理器”)启动程序不会导致任何操作。

解决方案:

要解决此问题,请执行以下操作:允许运行 PHP 脚本的 Apache 服务与桌面交互所必需的:

  1. 在 Windows XP 计算机上打开服务控制面板 (services.msc)。
  2. 找到 Apache服务(例如“wampapache”)并打开其属性。
  3. 转到“登录”选项卡并选择“允许服务与桌面交互”。
  4. 停止并重新启动 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中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!