php同时作为server端和client端(soapclient)的超时时间设置小结
来源:互联网 发布:知乎在国外开中餐厅 编辑:程序博客网 时间:2024/06/05 04:53
http://blog.sina.com.cn/s/blog_475429950101bt7x.html
场景:
A通过HTTP请求B,同时B通过soap请求C(webservice),然后B得到C的返回内容后,再响应回A;
=================================
client A -> server B -> clientA
server B ->server C ->server B
=================================
前提:
B为lamp架构
A的请求超时时间为30秒
问题:
B的超时时间如何设置
分析:
1 总体原则:
链式结构的超时时间在各子系统设计时,可不考虑网络延迟问题进行设置。
由前端到后端的超时时间呈现递减设计较为合理。
2 设计思路及实现方法
2.1 A的request timeout为30s
实现方法:根据A的实现方法来实现。
2.2 B的执行时间应<30s,暂设置为28s
实现方法1:
--php--
ini_set('max_execution_time',28);
set_time_limit(28);
...
--php--
注:针对max_execution_time的计时原来请务必先查看:http://blog.sina.com.cn/s/blog_475429950101btcu.html
实现方法2:
vi php.ini
...
; Maximum execution time of each script, in seconds
; http://php.net/max-execution-time
; Note: This directive is hardcoded to 0 for the CLI SAPI
max_execution_time = 28
...
同时注意:执行时间还会受到apache的Timeout指令的影响,此时间一般默认为300s;
关于apache的Timeout指令(更多见:http://lamp.linux.gov.cn/Apache/ApacheMenu/mod/core.html#timeout):
--------------------------------------------------------------------------------
TimeOut 指令
说明
语法
默认值
作用域
状态
模块
TimeOut指令用于设置Apache等待以下三种事件的时间长度:
我们计划在发展里程中,逐步把它们分别变得更易配置。计时器在1.2版本之前的默认值为1200,而现在已经设置为300了,但对于绝大多数情况来说仍是足够的。没有把它默认值设的更小的原因在于代码里还有点问题:有时发送一个包之后,计时器没有复位。
--------------------------------------------------------------------------------
2.3 B请求C的过程应该<28s,暂设置为26s,这意味着
B通过soap请求C(webservice)时,我没有找到一个总的timeout的设置方法,只找到了soap连接和数据响应分别的设置方案,基于不考虑网络延迟的前提设计思路,将数据响应超时时间设置为26s即可:
--php--
//数据响应超时时间设置
ini_set('default_socket_timeout',26);
//可参考 http://cn2.php.net/manual/zh/filesystem.configuration.php#ini.default-socket-timeout
//soap连接超时时间设置
$options = array(
$soap_client=new SoapClient($aswebservice,$options);
--php--
- php同时作为server端和client端(soapclient)的超时时间设置小结
- Java设置Client Socket链接Server超时时间
- 设置PHP 脚本执行超时的时间
- php soapclient的使用
- php脚本超时时间设置
- php脚本超时时间设置
- php脚本超时时间设置
- PHP curl 超时时间设置
- php设置socket超时时间
- 实现Server和client端的通信
- 设置PHP脚本执行超时的时间方法
- 一个严格的PHP Session会话超时时间设置方法
- php 中soapclient的使用
- 在Exchange Server 上针对Client端的策略设置
- Exchange Server 上针对Client端的策略设置
- SQL Server设置最大超时时间
- PHP请求远程地址设置超时时间
- PHP请求远程地址设置超时时间
- 百度地图API实现定位与目的地导航
- 一个c语言题目
- linux系统时间修改及同步
- 浅谈Java线程启动与Thread.join()
- hdu 1257 最少拦截系统(DP)
- php同时作为server端和client端(soapclient)的超时时间设置小结
- mmap msync munmap close
- 用eclipse新建JSP
- erlang:猜数字
- Ubuntu下配置Samba服务
- c语言计算几何系列题、
- 如何让你的 Android 显示gif格式的图片
- 老鸟学习python
- 关于typedef的用法总结