【问题标题】:php -> shell_exec() -> psexec -> my executable chain failsphp -> shell_exec() -> psexec -> 我的可执行链失败
【发布时间】:2015-06-24 08:41:42
【问题描述】:

我有一个php,我必须从那里调用cmd,并且从那个cmd我必须使用psexec启动一个exe。我的phpcmdpsexec.exe 和我实际需要运行的exe 在同一个文件夹中。

php:

shell_exec("runas.cmd");

runas.cmd:

@echo off
psexec -u userName -p password my.exe

如果我运行php,我可以在任务管理器中看到PSexex.exe 被盯着看,但my.exe 没有。另外,如果我双击运行runas.cmd,一切都很好。

【问题讨论】:

    标签: php cmd shell-exec psexec


    【解决方案1】:

    在命令后添加 2>&1 并打印 shell_exec 响应以查看实际发生的情况

    $a = shell_exec('runas.cmd 2>&1');
    var_dump($a);
    

    【讨论】:

    • 我在浏览器中打开了 php,但没有任何响应。它一直在加载。
    • 继续加载,因为 shell_exec 等待响应,这将在 runas.cmd 完成时发生,无论错误或它假设的工作方式。
    • 它现在已经运行了超过 35 分钟。
    • 只是停止脚本 php 执行时间在您需要等待输出时无法正常工作,这意味着脚本将一直工作,直到您停止它或您执行的命令返回我认为在您的情况下您需要调试在控制台中执行的命令而不是双击,然后您将看到执行 runas.cmd 时实际发生的情况
    • 我不明白。如果工作场景和不工作场景之间的唯一区别是我启动 runas.cmd 的方式,我应该调试什么?
    猜你喜欢
    • 2018-12-08
    • 1970-01-01
    • 2016-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多