我正在使用 Windows,我想设置 PHP 以使用 bash shell(由于msysgit安装在我的机器上)。原因是我的开发机器上有 Windows,生产机器上有 Linux。
谢谢!
我正在使用 Windows,我想设置 PHP 以使用 bash shell(由于msysgit安装在我的机器上)。原因是我的开发机器上有 Windows,生产机器上有 Linux。
谢谢!
你不能。但是您可以启动自己的 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 。