2016-10-02 26 views
0

更改傳出IP我有一個的cPanel與專用IP地址託管,爲的NuSOAP

然而傳出IP仍是主機提供商的共享IP(應該是)。

我需要做什麼用的NuSOAP與專用IP一些呼出電話:

$nusoap = new nusoap_client("https://URL/"); 
$call = $nusoap->call(...); 

我怎樣才能改變這裏傳出IP用的NuSOAP?

我知道如何用cURL(curl_setopt($ch, CURLOPT_INTERFACE, $website_ip);)來做到這點,但是如何用這種方法實現同樣的事情。一直在爲它工作幾個小時,服務器端和PHP端,但仍然無法弄清楚。

回答

3

1)使用PHP的SoapClient,而不是NuSoap(它自PHP5以來就可用了,並且希望你不會繼續使用PHP4,因爲它非常支持,NuSoap庫本身未超過3年更新) 。

2)您可以將流上下文傳遞給具有bindto選項集的SoapClient構造函數。

現金從Is it possible to specify the outgoing network interface to use for a PHP SoapClient?

$opts = array(
    'socket' => array(
     'bindto' => '192.168.0.100:0', 
    ), 
); 

$ctx = stream_context_create($opts); 

$client = new SoapClient('the.wsdl', array('stream_context' => $ctx)); 

編輯直接摘自:如果必須使用的NuSOAP,你有沒有試過

nusoap_client->setCurlOption(CURLOPT_INTERFACE, $website_ip) 

從來源:

function setCurlOption($option, $value) { 
    $this->debug("setCurlOption option=$option, value="); 
    $this->appendDebug($this->varDump($value)); 
    $this->curl_options[$option] = $value; 
}