今天就跟大家聊聊有关怎么在PHP中利用肥皂调用API,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
具体如下:
/*图片转换为,base64格式编码*/function base64EncodeImage (image_file美元) { 时间=美元才能base64_image & # 39; & # 39;; 时间=美元才能image_info getimagesize ($ image_file); image_data 美元;=,才能从文件中读(fopen (image_file美元,& # 39;" # 39;),,文件大小(image_file美元));//美元才能base64_image =, & # 39;数据:& # 39;,只image_info美元[& # 39;mime # 39;],又是;& # 39;;base64, & # 39;,只chunk_split (base64_encode (image_data美元)); 时间=美元才能base64_image chunk_split (base64_encode (image_data美元)); return 才能;base64_image美元; } $ strPhotoFront_base64 =, base64EncodeImage(“静态/img/a.png"); $ strPhotoRear_base64 =, base64EncodeImage(“静态/img/b.png"); 帕拉斯美元[“strPhotoFront"],=, strPhotoFront_base64美元; 帕拉斯美元[“strPhotoRear"],=, strPhotoRear_base64美元; 帕拉斯美元[“strSecretKey"],=,““ $ wsdl =,““ $ client =, new SoapClient ($ language, wsdl); $ soapParas =,数组(帕拉斯美元); 美元$ outString =,客户→__soapCall (“UploadPhotoId",, soapParas美元); 美元$ obj =, simplexml_load_string (outString→UploadPhotoIdResult→有); 回声(obj→美元ExtraInfo); echo “& lt; br/在“; 回声(obj→美元附加程序); echo “& lt; br/在“; 回声(obj→美元代码); echo “& lt; br/在“; 回波(obj→美元消息);
<强>注:>强出现提示:致命错误:类& # 39;soapclient # 39;未找到的情况,可参考《PHP类SoapClient未找到解决方法》
<强>附:强> SOAP-ERROR:解析WSDL:就# 39;t负载从“xxxxxxx”解决方案
用PHP的SoapClient连接第三方的网络服务,是https的,连接报错SOAP-ERROR:解析WSDL:就# 39;t负载从“xxxxxxx”
首先排查PHP的soap扩展是否安装
<强> openssl扩展强>
服务器本身安装openssl
排除第三方对本服务器的IP限制
最后怀疑是https需要ssl验证,而本机没有pem文件
可以通过如下设置,忽略ssl验证
verify_peer:指定是否验证ssl,默认为真正的
将verify_peer设为假
另外,允许引用外部xml实体
加<代码> libxml_disable_entity_loader(假);代码>语句
libxml_disable_entity_loader(假); $ opts =,阵列( & # 39;才能ssl # 39;,,=祝辞,阵列( ,,,,,& # 39;verify_peer& # 39;,,,,,=祝辞,假的 ,,,), & # 39;才能https # 39;,=祝辞,阵列( ,,,,,& # 39;curl_verify_ssl_peer& # 39;,=祝辞,假的, ,,,,,& # 39;curl_verify_ssl_host& # 39;,=祝辞,假的 ,,,) ); $ streamContext =, stream_context_create(选择); $ client =, new SoapClient (“https://urlToSoapWs" ,阵列( ,,& # 39;stream_context& # 39;,,=祝辞streamContext美元 之前,));>禁止引用外部xml实体
libxml_disable_entity_loader(真正);<强> nginx报错上游超时(110:连接超时)解决方案强>
nginx每隔几个小时就会报下面的错误:
2013/05/18 21:21:36(错误)11618 # 0:* 324911上游超时(110:连接超时)阅读时响应头从上游,
客户:42.62.37.56,服务器:localhost,要求:“把代码片段/2747/HTML5-Canvas-usage HTTP/1.0”,
上游:“fastcgi://127.0.0.1:9002”,主持人:“outofmemory.cn”,引用:“http://outofmemory.cn/code-snippet/tagged/canvas”报这个错误之后,整个服务器就不响应了,但是nginx后面的webpy程序没有任何错误,后端的数据库也很正常,从网上查了很多资料,都是说要修改<代码> proxy_read_timeout 代码>,<代码> proxy_send_timeout 代码>和<代码> proxy_buffer 代码>几个相关设置的值。
如下配置,要放在服务器配置节之内
large_client_header_buffers 4 16 k;
client_max_body_size 30米;
client_body_buffer_size 128 k;
proxy_connect_timeout 300;
proxy_read_timeout 300;
proxy_send_timeout 300;
proxy_buffer_size 64 k;
proxy_buffers ,4 32 k;
proxy_busy_buffers_size 64 k;
proxy_temp_file_write_size 64 k;
fastcgi_connect_timeout 300;
fastcgi_read_timeout 300;
fastcgi_send_timeout 300;
fastcgi_buffer_size 64 k;
fastcgi_buffers ,4 32 k。
fastcgi_busy_buffers_size 64 k;
fastcgi_temp_file_write_size 64 k;怎么在PHP中利用肥皂调用API