2

コマンドをシステムにパイプするphpファイルを書きたいです(ただし、インタラクティブなプログラムも使用できるようにstdinも処理します)。これはphpではできないと読んだので、代わりに2つのfifo(in / out)を設定するCでプログラムを書きました。私は次の意味でそれをテストしました:

(3つの端末を開く)

ターミナル 1: パイプをセットアップする ./program ターミナル 2: cat fifo_out ターミナル 3: echo "ls -l" > fifo_in

これは端末 2 に表示されます。すぐに C プログラムに stdin を実装します。

そのため、php ファイルからコマンドを送信し、応答をパイプで返す予定です (最終的に stdin の処理を​​含む)。これを実行不可能にすることについて知っておくべき「落とし穴」はありますか? (たとえば、php がそのようなプログラム間で名前付きパイプを適切に処理していない、またはタイムアウトやパーミッションが発生しているなど。そのような落とし穴を回避するための提案はありますか?

前もって感謝します

4

1 に答える 1

0

私が知る限り、proc_open()双方向 IO でプログラムを実行するために使用できます。ドキュメントにはかなり包括的な例が含まれています

于 2013-01-16T16:34:41.810 に答える