2017-05-16 11 views
0

私はここで変なことをしていますが、私はそれをやるべきです。php echo elixir iex stdin

私のエリクシールプログラムは、1つのPHPスクリプトを実行し、そのスクリプトから情報を取得する必要がありますが、それは決して来ません。私は手動でPHPスクリプトを実行することができ、うまく動作します。スクリプトの一番下には、次のように書かれています。

echo $avar->getPUId(); 

だから私はそう思っています。私は、コマンドラインから実行するとき、私は必要なデータを取得する:

C:\PHP>php.exe "-f" "C:\pap.php" "613b8859" 
37a69912 

しかし、私は、私は何も取得しないIEXから、それを実行すると:、今

iex(1)> System.cmd("C:\\PHP\\php.exe", ["-f", "C:\\pap.php", "613b8859"]) 
Terminate batch job (Y/N)? y 

を場合、ファイル名にIが台無しか

iex(1)> System.cmd("C:\\PHP\\php.exe", ["-f", "C:\\pap321.php", "613b8859"]) 
{"Could not open input file: c:/pap123.php\n", 1} 
... 

はので、私はPHPに話すことができます知っている、それがエラーで戻って私に話すことができるが、エコーを呼び出して、私のエリクシルのアプリケーションでキャッチされていない。何かのPHPは次のよ​​うに言ってくれ応答でエラーになりますそれは明らかに。それはPHPスクリプトから来るように私はデータをつかむことができる他の方法はありますか?

答えて

0

私はそれは素晴らしい仕事

https://github.com/alco/porcelain

result = Porcelain.shell("C:\\PHP\\php.exe -f C:\\pap.php 613b8859") 
IO.inspect result.out 

を使用。