国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

PHP使用SOAP調用API操作示例

2024-05-05 00:06:01
字體:
來源:轉載
供稿:網友

本文實例講述了PHP使用SOAP調用API操作。分享給大家供大家參考,具體如下:

/*圖片轉換為 base64格式編碼*/function base64EncodeImage($image_file){  $base64_image = '';  $image_info = getimagesize($image_file);  $image_data = fread(fopen($image_file, 'r'), filesize($image_file));  //$base64_image = 'data:' . $image_info['mime'] . ';base64,' . chunk_split(base64_encode($image_data));  $base64_image = chunk_split(base64_encode($image_data));  return $base64_image;}$strPhotoFront_base64 = base64EncodeImage("static/img/a.png");$strPhotoRear_base64 = base64EncodeImage("static/img/b.png");$paras["strPhotoFront"] = $strPhotoFront_base64;$paras["strPhotoRear"] = $strPhotoRear_base64;$paras["strSecretKey"] = "";$wsdl = "";$client = new SoapClient($wsdl);$soapParas = array($paras);$outString = $client->__soapCall("UploadPhotoId", $soapParas);$obj = simplexml_load_string($outString->UploadPhotoIdResult->any);echo($obj->ExtraInfo);echo "<br/>";echo($obj->ExtraCode);echo "<br/>";echo($obj->Code);echo "<br/>";echo($obj->Message);

注:出現提示:Fatal error: Class 'SoapClient' not found的情況,可參考《PHP Class SoapClient not found解決方法

附: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 ));

禁止引用外部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_timeoutproxy_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;

你可以看到上面是proxy_fastcgi_兩種配置,就是說如果你的nginx后面是proxy,就設置proxy相關的配置,如果是fastcgi就設置fastcgi相關的配置。

希望本文所述對大家PHP程序設計有所幫助。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 安图县| 轮台县| 会昌县| 张北县| 隆昌县| 邵武市| 梓潼县| 苏州市| 靖江市| 林芝县| 永靖县| 东明县| 武定县| 溧阳市| 台湾省| 土默特右旗| 江永县| 万宁市| 永川市| 那坡县| 淳安县| 临洮县| 龙口市| 当雄县| 仁化县| 藁城市| 福安市| 思南县| 丰县| 洮南市| 利川市| 阿图什市| 库伦旗| 济南市| 柳州市| 濮阳县| 化德县| 睢宁县| 安乡县| 乌鲁木齐市| 宽甸|