php - 为什么 PHP exec() 命令启动 DOS 窗口?我可以隐藏这个吗?

标签 php apache cgi

我在 Windows XP 上将 PHP 脚本作为 cgi 脚本执行,网络服务器是 Apache 2.2,使用 phtmlenc() 加密。这会在执行期间打开一个空白的 DOS 提示符(cmd.exe 窗口)。

这是测试脚本 test.php 我已将我的脚本放在 cgi-bin 目录中:

#! C:/PHP/bin
exec(WHOAMI);

当我通过 Internet Explorer 通过键入 localhost/cgi-bin/test.php 启动脚本时 我可以看到一个 DOS 窗口弹出窗口。

  1. 我可以通过更改 Apache 配置或 PHP 来抑制这种情况吗 配置?
  2. 原始脚本使用 phtmldec() 加密,因此我无法更改实际的 exec() 调用
  3. 我可以编辑 PHP 以放置一些 header 以隐藏或抑制 DOS 窗口吗?

最佳答案

您不能隐藏窗口,因为它受操作系统控制,而不是 PHP 或 Apache。由于 whoami 是一个控制台应用程序,它会在运行时创建一个控制台。

顺便说一下,'WHOAMI' 应该用引号引起来。

关于php - 为什么 PHP exec() 命令启动 DOS 窗口?我可以隐藏这个吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12478885/

相关文章:

android - 如何以编程方式将多个 IP 摄像机集成到 Android 中?

html - HTML 中的 Perl CGI 脚本

php - 返回的 Mysqli num 行不起作用

php - 在 ajax 函数中隐藏 jquery 元素

apache - 将所有请求重定向到 index.php

python - 自签名证书私钥值不匹配

python - 将 python 脚本作为 cgi apache 服务器运行

javascript - 多页复选框处理

php - 动态使用从获取的数据查询数组中获取的列名

php - Doctrine2 多对一关联不会使用 JOIN 查询