我的服務器上有兩個PHP應用程序。其中之一有RESTAPI,我想在第二個應用程序中使用和渲染。什麼是更好的方式然後蜷縮API?我可以以某種方式直接詢問php-fpm的數據或類似的東西嗎?PHP - 跨應用程序通信
通過網絡服務器做捲曲和請求似乎是錯誤的。
所有這一切發生在單臺服務器上 - 我知道它可能不能很好地擴展,但它的小項目。
我的服務器上有兩個PHP應用程序。其中之一有RESTAPI,我想在第二個應用程序中使用和渲染。什麼是更好的方式然後蜷縮API?我可以以某種方式直接詢問php-fpm的數據或類似的東西嗎?PHP - 跨應用程序通信
通過網絡服務器做捲曲和請求似乎是錯誤的。
所有這一切發生在單臺服務器上 - 我知道它可能不能很好地擴展,但它的小項目。
爲什麼要使用REST,如果你可以直接訪問函數?
如果一切都在同一臺服務器上,那麼就不需要使用某個REST,因爲它通過網絡服務器進行了一些毫無意義的運行。 但是,如果它已經在那裏,你不關心開銷(如果沒有太多的交通進行,那麼它會有道理),然後使用file_get_contents
而不是curl
,它更容易使用,但我懷疑它是更快/比較慢;兩者都是對的。
您也可以在另一個端口上使用另一個Web服務器(第二個虛擬主機)供內部使用。這樣事情就很好地分開了。
(如果一切都在不同的服務器,但本地網絡,然後使用套接字將是最快的。)
我不想直接調用這些函數,因爲我不確定它們可能會如何改變,但我很確定該API不會改變。 我從來沒有想過把單獨的虛擬主機加以內部使用,我想這將是最好的解決方案。我也會嘗試file_get_contents。 謝謝! – Krisa
我在同樣的問題,但我解決它使用MySQL,以「排隊」的任務,並且工作人員可以使用任何池化方法,或者PHP執行新的服務器端工作人員。 由於結果存儲在同一個數據庫中,因此PHP頁面可以隨時加載結果或狀態。
你會好起來的捲曲,它將分離添加到您的組件,如果將來必須將它們移動到不同的服務器會發生什麼?另外,你也可以使用http://guzzlephp.org/作爲你的客戶端。 – Scuzzy
@Scuzzy'guzzle'不是一種替代品,因爲它建立在'curl'之上。 – arkascha
您也可以使用套接字進行通信甚至共享內存。但我懷疑這是一個好主意。 – arkascha