我有一个开源的慈善网站,它是用Ruby on Rails构建的,我们正在尝试集成支付验证系统和一个已经存在于PHP中的系统 - 试图找到是否有办法将这两个一起玩得好吗?
我可以从Ruby调用PHP脚本并让Ruby读取任何echo的响应等吗?
答案 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)
有两种方法可以做到这一点。
Shell执行php支付脚本(如果有)检查Ruby shell exec 只有在支付系统可以通过CLI
来自ruby的HTTP请求,检查documentation并使用这种方式可以“复制”php支付系统在线工作的方式。发送正确的POST
/ GET
数据并使其正常工作。