0

私はWindowsを使用しており、bashシェルを使用するようにPHPをセットアップしたいと思います(msysgitのおかげで私のマシンにインストールされました)。その理由は、開発マシンにWindowsがあり、実稼働マシンにLinuxがあるためです。

ありがとう!

4

1 に答える 1

4

できません。ただし、 のように独自のシェルを起動できますc:\mingw\bin\sh -c 'set'。もちろん、それにはあなたのマシンにMingwが必要です。

Cygwin を使用すると、次のようになります。

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

コマンド ラインの長さには制限があるため、スクリプト自体を 1 行だけにすることはお勧めしません。シェル スクリプト インタープリターの名前の直後にあるオプションは、インタープリター用です。インタープリターが実行するスクリプトに引数を渡したい場合は、引数を引用符で囲む必要があります。つまり、変換の例では ".exe" の直後です。

スクリプトをシェル スクリプト インタープリターにパイプすることもできます。そうすれば、ファイルに書き込む必要がなくなり、長いスクリプトを使用できます。

すなわち:

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

PHP でパイプを使用する方法については、http://php.net/manual/en/function.proc-open.phpを参照してください。

于 2011-08-07T11:22:54.557 に答える