gpt4 book ai didi

php exec() 没有执行命令

转载 作者:IT王子 更新时间:2023-10-29 01:06:49 24 4
gpt4 key购买 nike

我尝试使用 exec()'whoami' 来检查它是否有效,我得到了

的结果
nt authority\system

现在我需要通过 exec() 函数运行带有 php 参数的 .exe 文件。

我在 命令提示符 中尝试过,它实际上使用给定参数运行程序。这是示例命令。


注意 exe 文件有 3 个输入(文件夹、文件名、report_file_nmae)

> ..\..\some_file.exe folder="C:\path_to_folder" param=1.xml report=2.xml

但是当我从 php 文件运行这个命令时:

exec('..\..\some_file.exe folder="C:\path_to_folder" param=1.xml report=2.xml');

什么都没有发生。这是我第一次使用 exec() 函数,所以我不熟悉它的细节。 怎么了?

我尝试使用:

  • \\ 而不是 \
  • escapeshellarg() 在目录上
  • 在目录文件夹名称周围添加了 ""

运气不好

附录:

echo exec($command)  // echos < .... why?

exec($command, $output);
print_r($output); // Array()

我什至将文件的权限更改为对所有用户的完全控制。如果我从 命令提示符 调用该程序,我可以看到图标出现在时钟旁边一秒钟。

但是来自 php 的相同调用甚至不会调用程序。

编辑

甚至 exec('notepad.exe'); 也不起作用。也许必须对 php 配置做些什么?

最佳答案

我已经说过我是 exec() 函数的新手。在做了更多挖掘之后,我发现了 2>&1,它需要添加到 exec() 的命令末尾。

感谢 @mattosmat 在评论中指出这一点。我没有立即尝试这个,因为你说这是一个 Linux 命令,我在 Windows 上。

所以,我发现,该命令实际上是在后端执行的。这就是为什么我看不到它实际运行的原因,而这是我期望发生的。

对于遇到类似问题的所有人,我的建议是使用该命令。 它会指出所有错误,还会告诉您有关执行的信息/细节。

exec('some_command 2>&1', $output);
print_r($output); // to see the response to your command

感谢大家的帮助,我很感激;)

关于php exec() 没有执行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17914402/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com