2013-03-19 68 views
0

即使這些服務器是我的服務器,我個人也不知道如何做到這一點。但我想知道我的服務器是否可以訪問外部站點 - 例如ping一個通用網站 - 有傳出通信。也就是說,例如,我想在一臺服務器上執行PHP腳本,連接到另一臺服務器,並測試第二臺服務器是否可以ping網站。所以我知道如何在我的腳本執行的服務器上使用PHP來使用fopensocket來ping一個網站。我只是不知道如何設置它來測試另一臺服務器的可ping通性。我的意思是我有憑據,但唯一的辦法是在每臺服務器上都有我的腳本,然後到達腳本並執行它們。這不是我想要的。我想從一個/外部服務器執行此操作,並將我的腳本提供給我要測試的服務器的ip/port/uid/pwd。使用PHP連接到服務器並查看該服務器是否可以ping另一個

+0

可能重複? http://stackoverflow.com/questions/9841635/how-to-ping-a-server-with-php – Zak 2013-03-19 18:07:45

+0

構建一個[RESTful](http://en.wikipedia.org/wiki/Representational_state_transfer)API並保護它與[OAuth](http://en.wikipedia.org/wiki/OAuth) – bitWorking 2013-03-19 18:10:55

+1

爲什麼要用PHP?只是'ssh服務器「ping ip」' – 2013-03-19 18:16:14

回答

0

一個簡單的API看起來是這樣的:

SERVER1:

// get response from server2 
$response = file_get_contents('http://www.server2.com/api.php?method=ping&ip=IP&port=PORT&uid=UID&pwd=PWD'); 
// do json_decode() if response is json string 

SERVER2(api.php):

// respond to API call 
if (isset($_GET['method']) && $_GET['method'] == 'ping') { 
    // get other params and do your ping function 
    echo $pingresult; // perhaps a json encoded array 
    exit; 
} 

沒有安全,所以你可以發送API密碼或者使用OAuth或HMAC

+0

所以唯一的方法是在第二,第三,第四,第五,第六等服務器上放置一個文件/腳本並調用它?執行它? – 2013-03-19 18:44:20

+0

或者使用SSH php擴展/庫來試用它[http://kvz.io/blog/2007/07/24/make-ssh-connections-with-php/](http://kvz.io/blog/ 2007/07/24/make-ssh-connections-with-php /)或[http://phpseclib.sourceforge.net/](http://phpseclib.sourceforge.net/) – bitWorking 2013-03-19 18:55:14

+0

OAuth包裝的REST API需要在每臺機器上啓用支持PHP的Web服務?這有點矯枉過正,你不覺得嗎? – 2013-03-19 19:28:47

相關問題