【问题标题】:PHP exec command "ng --version"PHP 执行命令“ng --version”
【发布时间】:2020-04-27 22:39:45
【问题描述】:

我想检查用户是否安装了 angular cli,并在 PHP 上使用 exec、proc_open 或 shell_exec 运行 ng --version,但返回为空。 如果我在 Windows 上的任何路径中的 cmd 或终端的 Visual Studio Code 中执行,我没有问题。

我正在使用 wampserver

【问题讨论】:

  • /path/to/ng --version 当然你可能不知道locate ng 并解析它。
  • 假设是 Linux。
  • 更新,对不起,我不记得说我的 SO
  • 你放弃了吗???
  • 不,最后我必须跳过这个,因为在检查这个之后我需要运行其他命令,并且这个命令需要交互,那么脚本询问时我不能说Y或N

标签: php windows exec shell-exec proc-open


【解决方案1】:

有多种方法可以做到这一点,如果发现不止一种,你必须考虑你会怎么做。你可以找到它:

exec('where /r C:\ ng.exe', $paths);

如果你真的需要这个版本,如果它以C:\开头,就使用第一个:

if(strpos($paths[0], 'C:\\') === 0) {
    exec($paths[0] . ' --version', $version);
}
print_r($version);

如果没有找到,那么$paths[0] 应该包含:

信息:找不到给定模式的文件。

【讨论】:

    猜你喜欢
    • 2017-09-18
    • 2020-07-25
    • 1970-01-01
    • 1970-01-01
    • 2013-05-25
    • 2019-10-26
    • 2021-08-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多