第一步:服务端文件
<?php $wsdlfile='webservice.wsdl'; ini_set('soap.wsdl_cache_enabled','0'); //关闭WSDL缓存 //001.创建webservice接口类 class UserAction{ //创建用户方法 public function create($username,$password) { return 'Create success!'; } //删除用户方法 public function del($userid) { return 'Del success!'; } } //002.通过第三方类库创建生成wsdl文件 require_once 'SoapDiscovery.class.php'; $SoapDis=new SoapDiscovery('UserAction','soap'); //soap可以自己定义,无所谓的 $WsdlRev=$SoapDis->getWSDL(); //if(!file_exists($wsdlfile)){ file_put_contents($wsdlfile, $WsdlRev); //} //003.通过wsdl创建服务 $webserver = new SoapServer($wsdlfile); $webserver->setClass('UserAction'); $webserver->handle();
第二步:客户端文件
<?php $ws=new SoapClient('http://learn.cn/webservice.wsdl'); $ret=$ws->create('gao','123456'); var_dump($ret); ?>
下载demo:
前面的文章对于高并发下单商品导致商品库存为负值的问题请先阅读再阅读本篇文章一定对您有帮助,建议亲手测试较好。加上文件锁后的下单处理代码:【一】.阻塞模式:(如果其他进程已经加锁文件,当前进程会一直等其他进程解锁文件后继续执行)<?php //连接数据库 $con=mysqli_connect(...
首先看看以下代码:代码1:<?php $a=0.1; $b=0.7; if($a+$b==0.8) { echo "1"; } else{ echo "2"; } ?>代码2:<?php &n...
array_merge是最常用的数组合并方法,+号同样也可以,但是却有很大不同。array_merge遇到相同字符串key,后面数组的key会覆盖前面数组的key,+号正好相反。$a = [ 'one' => 'A on...
面试中PHP面试官会问调用一个不存在的方法,如何知道是哪个文件哪行调用的?假设方法是getWorkLoad()回答1:开启PHP错误输出,PHP会输出Fatal error: Call to undefined function getWorkLoad() in D:\wwwroot\thinkpa...
今天帮朋友查询wordpress执行超级慢的原因,特此记录开启fpm的慢日志,记录执行超过30秒的脚本request_slowlog_timeout = 30 slowlog = var/log/slow.log查看日志[23-May-2019 17...
经常我们下载国外资源容易被墙,可以通过php脚本获取远程文件流然后输出给我们的浏览器来下载。<?php //设置下载文件的url $url = 'https://mirrors.huaweicloud.com/ubuntukylin/ubuntukylin-19....