0

我正在使用 Windows,我想设置 PHP 以使用 bash shell(由于msysgit安装在我的机器上)。原因是我的开发机器上有 Windows,生产机器上有 Linux。

谢谢!

4

1 回答 1

4

你不能。但是您可以启动自己的 shell,例如c:\mingw\bin\sh -c 'set'. 这当然需要在你的机器上使用 Mingw。

使用 Cygwin 将是:

shell_exec("C:\cygwin\bin\bash.exe --login  -c '/cygdrive/c/cygwin/bin/convert.exe --version'");

命令行长度是有限制的,因此如果它不仅仅是一个单行,我不建议将脚本本身放在那里。shell 脚本解释器名称后面的选项用于解释器。如果您想将参数传递给解释器执行的脚本,它需要在引号内,即在转换示例中的“.exe”之后。

您也可以将脚本通过管道传输到 shell 脚本解释器。这样,您就不需要将其写入文件,并且仍然可以使用长脚本。

IE:

$ echo "echo 'Hello world';" | sh
Hello world

有关如何在 PHP 中使用管道,请参阅http://php.net/manual/en/function.proc-open.php 。

于 2011-08-07T11:22:54.557 回答