【发布时间】:2017-05-16 03:35:54
【问题描述】:
好的,我知道我在这里做了一些奇怪的事情,但我必须这样做。
所以我的 elixir 程序需要运行一个 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
现在,如果我弄乱了文件名或某些 php 将给我一个错误的响应,例如:
iex(1)> System.cmd("C:\\PHP\\php.exe", ["-f", "C:\\pap321.php", "613b8859"])
{"Could not open input file: c:/pap123.php\n", 1}
...
所以我知道我可以与 PHP 对话,并且它可以通过错误与我对话,但 echo 并没有被我的 elixir 应用程序捕获,它显然调用了它。有没有其他方法可以从 PHP 脚本中获取数据?
【问题讨论】: