【问题标题】:How to run an EXE by using a proxy executable file in Windwos 10?如何在 Windows 10 中使用代理可执行文件运行 EXE?
【发布时间】:2021-05-18 14:15:00
【问题描述】:

我需要在同一台电脑上使用多个 PHP 版本,想通过以下策略解决这个问题:

  • 我创建了一个类似D:\bin 的文件夹并将其添加到PATH
  • 我为每个版本(如php56php70php80 等)创建一个 bash 文件并将这些文件放入我的bin 目录中。
  • bash 文件应包含一些代码以将命令和参数“转发”到相应的php.exe,以便在同一窗口中执行它,从而起到一种“代理”的作用。

结果应该是这样的:

$ where php56
D:\bin\php56
$ php56 -v
PHP 5.6.40 (cli) (built: Jan  9 2019 15:10:55)
Copyright (c) 1997-2016 The PHP Group

当代理文件只包含"C:\Program Files\PHP56NTS\php.exe" -v 时,它可以工作。但它不适用于传递参数。

如何让它工作?

【问题讨论】:

  • bash 是一个 Linux shell 解释器,默认情况下在 Windows 上不可用。 Windows 命令处理器cmd.exe 默认处理文件扩展名为.bat.cmd 的批处理文件。请打开command prompt,运行cmd /?,并仔细完整地阅读输出帮助。接下来运行call /? 并再次阅读整个输出帮助。您需要一个像 D:\bin\php56.cmd 这样的批处理文件,其中包含 @"C:\Program Files\PHP56NTS\php.exe" %* 行,以便将传递给批处理文件的所有参数传递给 PHP 可执行文件。

标签: windows bash cmd windows-10


【解决方案1】:

它仍然无法在 CMD 和 PowerShell 中运行。但至少对于 GitBash,这是一个可行的解决方案:

D:\bin\php56

"C:\Program Files\PHP56NTS\php.exe" $@
$ php56 -v
PHP 5.6.40 (cli) (built: Jan  9 2019 15:10:55)
Copyright (c) 1997-2016 The PHP Group

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-05
    • 1970-01-01
    • 1970-01-01
    • 2020-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-31
    相关资源
    最近更新 更多