从Ruby调用PHP并获得响应

时间:2014-02-06 00:58:18

标签: php ruby-on-rails ruby

我有一个开源的慈善网站,它是用Ruby on Rails构建的,我们正在尝试集成支付验证系统和一个已经存在于PHP中的系统 - 试图找到是否有办法将这两个一起玩得好吗?

我可以从Ruby调用PHP脚本并让Ruby读取任何echo的响应等吗?

2 个答案:

答案 0 :(得分:2)

是的,可以使用系统调用来完成

def your_method(path,file)
  system("cd #{path} && #{file} ")
end

顺便说一下,知道所有输入/输出都有IO类,其中一个基本方法命令是

def popen(cmd)
        Open3.popen3(cmd) {|stdin, stdout, stderr, wait_thr|
          exit_status = wait_thr.value
          if (exit_status !=0)
            raise CommandError, "Something went wrong" // supposing you customize class //Command < StandardError ; end
          end
        }
      end

另一方面,如果两个代码都运行在不同的代码上,那么您当然可以“调整”您的rails应用程序,以便获取和提取数据

答案 1 :(得分:1)

有两种方法可以做到这一点。

  1. Shell执行php支付脚本(如果有)检查Ruby shell exec 只有在支付系统可以通过CLI

  2. 工作时,这才有用
  3. 来自ruby的HTTP请求,检查documentation并使用这种方式可以“复制”php支付系统在线工作的方式。发送正确的POST / GET数据并使其正常工作。