2012-08-31 25 views
2

我目前正在爲我正在使用PHP的網站創建/實現日誌記錄系統。日誌系統的工作方式是我送一個JSON請求到本地主機和JSON獲取記錄(基本上,反正最快的方式來在PHP中啓動和忘記JSON POST

我的問題是:

什麼是最快的方法我可以做一個快速的射後不理用JSON POST打電話?有沒有辦法解僱,並與捲曲忘了?

+1

http://stackoverflow.com/questions/5453192/is-making-asynchronous-http-requests-possible-with-php – simshaun

+0

如果你只是想記錄頁面請求,爲什麼你不使用原始的web服務器日誌文件或Google Analytics之類的東西? – Dai

+0

我不只是記錄頁面請求。我在做應用程序日誌記錄。 – Eli

回答

3

有多種方式可以做到這一點:可以使用php_curl擴展的curl_multi功能,它允許您使用cURL發送異步HTTP請求,但這需要該擴展。 GuzzlePHP提供了cURL的大部分功能的大型封裝,包括curl_multi功能,如果您正在尋找面向對象的方法。

PHP的套接字也支持異步通信,一個爲HTTP協議實現此功能的庫可用here [客戶端是用純「PHP編寫的,並且不依賴於cURL,但支持異步請求並完全符合HTTP 1.1規範] 。

+1

另一種選擇是使用調用命令行cURL程序或wget的非阻塞'system()'調用。 – Dai

0

如果你正在尋找一個消防和忘記記錄解決方案,你可能想看看使用UDP協議一樣Graylog東西。

0

你可以使用一個小圖片,這個圖片會碰到一個PHP腳本命中並返回一個微小的1x1透明GIF。然後記錄將在頁面加載後發生。

+0

這意味着客戶端執行任務,而不是PHP。這也使得傳輸數據難以記錄。這種方法不可靠。 – Dai

+0

我認爲你只是想記錄頁面命中。 – RobertMaysJr

+2

總是冒險承擔! –