第一步:服务端文件
<?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面试官会问调用一个不存在的方法,如何知道是哪个文件哪行调用的?假设方法是getWorkLoad()回答1:开启PHP错误输出,PHP会输出Fatal error: Call to undefined function getWorkLoad() in D:\wwwroot\thinkpa...
php7新增的特性(1).强制限制只能返回一种类型<?php class task { } //must return an integer function add(): int { &nb...
PHP简单定时器可以通过pcntl_signal创建闹钟信号来实现。但是缺点很明显,性能一般,要自己实现守护进程,不支持毫秒级定时器,单进程不支持多个闹钟信号,不能跨平台运行event扩展支持的事件多,性能高。<?php //创建event配置.[空配置] $eventConfig ...
//设置客户端断开依然运行 ignore_user_abort(true); //设置脚本不超时 set_time_limit(0); //死循环每隔1秒访问一次网址 while (true) { sleep(1); &nb...
在调用微信code换openid的接口curl报错curl Received HTTP code 403 from proxy after CONNECT,错误码56。可以看到是curl的代理有问题。然后我自己电脑设置代理去访问curl请求的地址,的确也返回了403,说明代理不允许访问这个地址,联系...
【一】.无锁场景:多个人购买一件商品,库存减少。商品表:主键 商品名 库存数量 id name stock 1&nb...