2014-03-06 42 views
0

我有一個單點登錄系統,需要在兩臺服務器之間進行通信。子服務器發送一些事情給父服務器驗證,它是有效的,然後註冊用戶,如果沒有,發回錯誤消息,說「電子郵件存在數據庫已經」等。在PHP中用cURL回撥

我想知道有沒有什麼辦法可以在cURL中做到這一點?

所以孩子可以發送驗證請求,如:

   $ch = curl_init(); 
       curl_setopt($ch, CURLOPT_URL, $url); 
       curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //this prevent printing the 200json code 
       curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3); //timeout 1s 
       curl_setopt($ch, CURLOPT_TIMEOUT, 3); //timeout 1s 
       curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
       $result = curl_exec($ch); 
       curl_close($ch); 

看來,「$結果= curl_exec($ CH);」是結果(回調)。現在只有200人。有沒有一種方法可以通過這個或通過捲曲的其他參數像回調一樣通過驗證錯誤/成功?我應該如何在父服務器中編寫代碼(誰正在捲曲並將發送迴應)?我應該做「echo $ error;」將結果返回給孩子嗎?

+0

如果你不知道它是什麼,var_dump它。 –

+0

@DissidentRage現在只有200人。我想知道如何使它成爲驗證錯誤。所以我可以將驗證錯誤/成功從父母傳遞給孩子。 – jackhao

回答

0

PHP中沒有回調。 (幾乎)所有東西在PHP中都是同步的,而回調原則對異步編程很有用。

更新:功能curl_getInfo()會給你更多關於最後一次請求的細節。

+0

謝謝!但是我怎麼能讓$結果不是200 ..?像如何在這裏傳遞錯誤? – jackhao

+0

將網址更改爲假冒;或斷開你的網線;) –

+0

我更新了我的答案,因爲我記得curl_getinfo()的存在 –