使用PHP的SoapClient處理認證過的https webservice是徹底沒有問題的。可是若是遇到一些不去認證https而是用自建的證書來作https的時候就會有問題,通常會報「Could not connect to host.」錯誤。php
解決方式之一就是讓SoapClient忽略https的ssl認證,直接跳過認證的環節,直接貼代碼吧web
$context = stream_context_create( array ( 'ssl' => array ( 'verify_peer' => false, 'allow_self_signed' => true ), )); $options['stream_context'] = $context; $client = new SoapClient($url, $options);
verify_peer:指定是否驗證ssl,默認爲trueurl
allow_self_signed:是否容許自建證書的https服務,默認爲falsespa
貼上官方的文檔:http://php.net/manual/en/context.ssl.php .net
原創文章,轉載請註明出處code