当前位置: 首页 > news >正文

php socket timeout,PHP中default_socket_timeout配置

最近最近在学习些PoC,发现大部分PoC都会有这样一句ini_set('default_socket_timeout', 5) ,意思就是设置default_socket_timeout这个配置参数为5。不知道这个配置是什么意思,到官网上查了下,给出的解释也很简单 Default timeout (in seconds) for socket based streams。意思是socket流的超时时间(参数单位为秒)。

自己想试下这个的效果,但是搜了半天,国内国外都没有个可以体现这个参数意义的例子。于是随便找了个简单的代码试了下,代码如下:

\$url =

'http://www.cnblogs.com/Zjmainstay/archive/2012/03/08/PHP_FUN

CTION_file_get_contents.html';

ini_set('default_socket_timeout', 3);

if($data = file_get_contents($url)) {

echo $data;

}else {

echo 'Timeout';

}

\?\>

意思很简单,就是获取一个页面,socket流的时间设置为3秒,效果如下

后面我将default_socket_timeout的时间改为0.1秒,即ini_set('default_socket_timeout', 0.1),然后访问,效果如下

在写这篇文章时,突然发现原来PHP官网上有关于这个设置的示例代码,大家和我的实验对比着看吧。

通过搜索的解释和实验测试,我得到对于这个设置的结论是,default_socket_timeout是socket流的超时参数,即socket流从建立到传输再到关闭整个过程必须要在这个参数设置的时间以内完成,如果不能完成,那么PHP将自动结束这个socket并返回一个警告。类似的一个PHP配置是connection_timeout,不过connection_timeout是指保持连接的时间超时,不包括创建和销毁连接。

品略图书馆http://www.pinlue.com/

相关文章:

  • oracle日志文件占满磁盘空间,如何解决Oracle数据库归档日志占满磁盘空间
  • linux系统的内核,[科普] Linux 的内核与 Linux 系统之间的关系
  • linux网卡能虚拟多少,Linux网卡虚拟化
  • linux+倒出数据库,linux系统mysql导出数据库
  • 红帽linux编译器安装教程,redhat6.5安装gcc编译器
  • linux 日志管理 pdf,Ubuntu 16.04上安装配置 Graylog 2 日志管理系统
  • Linux卸载langle命令,求助运行一款TAR.GZ软件的问题
  • linux中iptables乱码,Linux中iptables的用法
  • linux卸载cntk,10个深度学习软件的安装指南(附代码)
  • linux的profile文件被删除,Centos7 etc/profile和/bin被误删除的解决办法
  • 深度linux怎么显示图标,Linux(Ubuntu/Deepin) 添加启动图标
  • c语言写入csv 逗号字符串,[转]C语言处理CSV文件的方法,以及kdd cup的简单说明...
  • c语言阅读程序求结果题型,阅卷教师面对面 C语言程序设计五种题型别马虎
  • C语言wait参数status,C语言-系统-wait()和waitpid()函数
  • claim用法c语言中,通过一个例子学习Kubernetes里的PersistentVolumeClaim的用法
  • canvas绘制圆角头像
  • golang 发送GET和POST示例
  • Javascript设计模式学习之Observer(观察者)模式
  • Spring Boot MyBatis配置多种数据库
  • Theano - 导数
  • vue-router的history模式发布配置
  • 解决jsp引用其他项目时出现的 cannot be resolved to a type错误
  • 如何利用MongoDB打造TOP榜小程序
  • 学习使用ExpressJS 4.0中的新Router
  • 由插件封装引出的一丢丢思考
  • 找一份好的前端工作,起点很重要
  • Nginx实现动静分离
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • 机器人开始自主学习,是人类福祉,还是定时炸弹? ...
  • ​虚拟化系列介绍(十)
  • #162 (Div. 2)
  • #define用法
  • #每天一道面试题# 什么是MySQL的回表查询
  • #我与Java虚拟机的故事#连载01:人在JVM,身不由己
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • $jQuery 重写Alert样式方法
  • (4)STL算法之比较
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第5节(封闭类和Final方法)
  • (floyd+补集) poj 3275
  • (多级缓存)缓存同步
  • (二)学习JVM —— 垃圾回收机制
  • (机器学习-深度学习快速入门)第一章第一节:Python环境和数据分析
  • (收藏)Git和Repo扫盲——如何取得Android源代码
  • (一)SpringBoot3---尚硅谷总结
  • (原創) 如何將struct塞進vector? (C/C++) (STL)
  • (正则)提取页面里的img标签
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • (转)iOS字体
  • (轉貼) 資訊相關科系畢業的學生,未來會是什麼樣子?(Misc)
  • ./configure,make,make install的作用(转)
  • ./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’: ./incl
  • .NET/MSBuild 中的发布路径在哪里呢?如何在扩展编译的时候修改发布路径中的文件呢?
  • .NetCore部署微服务(二)
  • .NET牛人应该知道些什么(2):中级.NET开发人员
  • .php文件都打不开,打不开php文件怎么办