2014-02-06 93 views
2

我有一個建立在Ruby on Rails上的開源慈善網站,我們正在嘗試集成一個支付驗證系統,並且已經存在於PHP中 - 嘗試查找是否存在一個讓這兩個人一起玩的好方法?從Ruby調用PHP並獲得響應

我可以從Ruby調用PHP腳本並讓Ruby讀取任何echo'd響應等嗎?

+0

我們需要更多信息。你是什​​麼意思「電話」?啓動它在一個子外殼?打開一個HTTP會話呢? –

回答

1

有兩種方法可以做到這一點。

  1. 殼牌執行的是PHP支付腳本(如果可用)檢查Ruby shell exec 這隻會是有用的,如果支付系統可以通過從紅寶石CLI

  2. HTTP請求的工作,檢查documentation和使用這種方式您可以「複製」php支付系統在線工作的方式。發送正確的POST/GET數據並使其正常工作。

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應用程序,以便獲取和提取數據