轉發:https://blog.csdn.net/keyunq/article/details/51804728
SOAP-ERROR: Parsing WSDL:Couldn’t load from “xxxxxxx” 解決方案
用php的soapclient連接第三方的webservice,是https的,連接報錯SOAP-ERROR: Parsing WSDL:Couldn’t load from “xxxxxxx”
首先排查 php的soap擴展是否安裝
openssl擴展
服務器本身安裝openssl
排除第三方對本服務器的IP限制
最后懷疑是https需要ssl驗證,而本機沒有pem文件
可以通過如下設置,忽略ssl驗證
verify_peer:指定是否驗證ssl,默認為true
將verify_peer設為false
另外,允許引用外部xml實體
加libxml_disable_entity_loader(false);語句
libxml_disable_entity_loader(false);
$opts = array(
'ssl' => array(
'verify_peer' => false
),
'https' => array(
'curl_verify_ssl_peer' => false,
'curl_verify_ssl_host' => false
)
);
$streamContext = stream_context_create($opts);
$client = new SoapClient("https://urlToSoapWs",
array(
'stream_context' => $streamContext
));
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
禁止引用外部xml實體
libxml_disable_entity_loader(true);
nginx 報錯 upstream timed out (110: Connection timed out)解決方案
nginx每隔幾個小時就會報下面的錯誤:
2013/05/18 21:21:36 [error] 11618#0: *324911 upstream timed out (110: Connection timed out) while reading response header from upstream,
client: 42.62.37.56, server: localhost, request: “GET /code-snippet/2747/HTML5-Canvas-usage HTTP/1.0”,
upstream: “fastcgi://127.0.0.1:9002”, host: “outofmemory.cn”, referrer: “http://outofmemory.cn/code-snippet/tagged/canvas“報這個錯誤之后,整個服務器就不響應了,但是nginx后面的webpy程序沒有任何錯誤,后端的數據庫也很正常,從網上查了很多資料,都是說要修改proxy_read_timeout,proxy_send_timeout和proxy_buffer幾個相關設置的值。
如下配置,要放在server配置節之內
large_client_header_buffers 4 16k;
client_max_body_size 30m;
client_body_buffer_size 128k;
proxy_connect_timeout 300;
proxy_read_timeout 300;
proxy_send_timeout 300;
proxy_buffer_size 64k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
fastcgi_connect_timeout 300;
fastcgi_read_timeout 300;
fastcgi_send_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 32k;
fastcgi_busy_buffers_size 64k;
fastcgi_temp_file_write_size 64k;
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
你可以看到上面是proxy_和fastcgi_兩種配置,就是說如果你的nginx后面是proxy,就設置proxy相關的配置,如果是fastcgi就設置fastcgi相關的配置。