欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

Apache、PHP、SOAP怎么配合工作

程序员文章站 2022-05-14 21:48:05
...
Apache、PHP、SOAP怎样配合工作
本人刚解除PHP,最近本人使用PHP自带的SOAP实现服务端的RPC功能。
看了很多server.php的例子,这些例子也能工作,但我还是产生了疑问。
一般server.php的代码是这样的:
1. 创建一个类,其中有若干成员函数。
2. 调用函数SoapServer()创建一个服务。
3. 将类中的函数进行注册。
4. 调用handle()函数处理客户端的RPC调用请求。
5. handle()函数返回后,本次服务算是结束。

如果只有一台PC发起客户端请求,apache服务器很容易应付。但如果有成千上万个client请求,
按上面的流程处理,岂不是要创建n次服务例程,销毁n次例程,效率低下可想而知。
或许php不是这样工作的,那么当收到n个(数量多)服务请求时,apache、PHP是怎样处理SOAP请求的呢。
只需大概讲一下处理流程。

------解决方案--------------------
是要创建n次服务例程,销毁n次例程
但是,效率低下可想而知 这样的结论就太武断了
web 服务使用的是无状态的 http 协议,既然是无状态的,那么就不需要服务器端的持久对象
况且 SoapServer()创建一个服务 中的服务只是一个名称而已,并非真正意义上的服务
------解决方案--------------------
引用:
是要创建n次服务例程,销毁n次例程
但是,效率低下可想而知 这样的结论就太武断了
web 服务使用的是无状态的 http 协议,既然是无状态的,那么就不需要服务器端的持久对象
况且 SoapServer()创建一个服务 中的服务只是一个名称而已,并非真正意义上的服务


不太同意部分观点。
是否应该在服务端放一个持续存在的对象跟http协议无状态没啥关系,服务端资源毕竟是有限的,对其反复“连接—断开”、“查询—释放”会白白造成不必要的开销,这时候有个持续存在的对象来保持这些数据,不去反复请求外部资源就太美好了。

顺便求版主帮反馈一下:改善下论坛的文字编辑体验,目前的这个既不是“所见即所得”又不是“主流通用”如markdown,wiki,真的很难上手诶,一不小心改错了提交后又没有纠正的机会。
Apache、PHP、SOAP怎么配合工作

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频