更改 NuSOAP 的传出 IP
Changing outgoing IP for NuSOAP
我有一个带有专用 IP 地址的 cPanel 主机,
然而,传出 IP 仍然是主机提供商的共享 IP(应该是)。
我需要使用具有该专用 IP 的 nusoap 进行一些去电:
$nusoap = new nusoap_client("https://URL/");
$call = $nusoap->call(...);
如何使用 NuSOAP 在此处更改传出 IP?
我知道如何使用 cURL (curl_setopt($ch, CURLOPT_INTERFACE, $website_ip);
),但如何使用此方法实现相同的目的。已经在服务器端和 php 端工作了几个小时,但仍然无法弄清楚。
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;
}
我有一个带有专用 IP 地址的 cPanel 主机,
然而,传出 IP 仍然是主机提供商的共享 IP(应该是)。
我需要使用具有该专用 IP 的 nusoap 进行一些去电:
$nusoap = new nusoap_client("https://URL/");
$call = $nusoap->call(...);
如何使用 NuSOAP 在此处更改传出 IP?
我知道如何使用 cURL (curl_setopt($ch, CURLOPT_INTERFACE, $website_ip);
),但如何使用此方法实现相同的目的。已经在服务器端和 php 端工作了几个小时,但仍然无法弄清楚。
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;
}