函数:stream_context_create ,file_get_content

创建并返回一个文本数据流并应用各种选项,可用于fopen(),file_get_contents()等过程的超时设置、代理服务器、请求方式、头信息设置的特殊过程。
函数原型:resource stream_context_create ([ array $options [, array $params ]] )

在使用file_get_contents函数的时候,经常会出现超时的情况,在这里要通过查看一下错误提示,看看是哪种错误,比较常见的是读取超时,这种情况大家可以通过一些方法来尽量的避免或者解决。这里就简单介绍两种:

注意:set_time_limit只是设置你的PHP程序的超时时间,而不是file_get_contents函数读取URL的超时时间。一开始以为set_time_limit也能影响到file_get_contents,后来经测试,是无效的。真正的修改 file_get_contents延时可以用resource $context的timeout参数:

一、php代码超时结束执行

常规代码:

 $opts = array('http'=>array('method'=>"GET",'timeout'=>60,)
);
//创建数据流上下文
$context = stream_context_create($opts);$html =file_get_contents('http://blog.sina.com/mirze', false, $context);

如果还有报错可以使用 @ 禁止报错符,如:@file_get_contents

示例:method 可以使用pos和get

function ip_taobao($ip){$opt = ['http'=>['method'=>'post','timeout'=> 2]];$context = stream_context_create($opt);$urlTaobao = 'http://ip.taobao.com/service/getIpInfo.php?ip='.$ip;$json = @file_get_contents($urlTaobao,false,$context);$jsonDecode = json_decode($json);if($jsonDecode){$data['country'] = $jsonDecode->data->country;$data['province'] = $jsonDecode->data->region;$data['city'] = $jsonDecode->data->city;$data['isp'] = $jsonDecode->data->isp;}else{$data['country'] = '网络已断开';}return $data;
}

二、php代码超时,再次发送请求

有时候失败是因为网络等因素造成,没有解决办法,但是可以修改程序,失败时重试几次,仍然失败就放弃,因为file_get_contents()如果失败将返回 FALSE,所以可以下面这样编写代码:
$cnt=0;
while($cnt < 3 && ($str=@file_get_contents('http://blog.sina.com/mirze'))===FALSE) $cnt++;

php脚本超时 结束执行代码相关推荐

  1. html代码在线运行环境,ES5/可执行代码与执行环境

    可执行代码类型 一共有三种 ECMA 脚本可执行代码: 全局代码是指被作为 ECMAScript Eval 代码是指提供给 eval 内置函数的源代码文本.更精确地说,如果传递给 eval 内置函数的 ...

  2. Openldap配置TLS加密传输(完整版——shell脚本实现[即在客户端执行代码,即可实现TLS加密])

    此脚本中只是负责实现了TLS加密配置部分,openLDAP的编译安装以及设置是前期已经配置好的! 具体的配置看上上篇文章openLDAP的编译安装以及配置. 注意slapd.conf中的配置,脚本中为 ...

  3. 脚本运行显示服务器超时,java执行shell脚本超时

    java执行shell脚本超时 [2021-02-11 04:20:34]  简介: 系统运维 在数据库运维的过程中,Shell 脚本在很大程度上为运维提供了极大的便利性.而shell 脚本参数作为变 ...

  4. 脚本文件直接执行python代码

    脚本文件直接执行python代码

  5. cscript 执行代码_使用Wscript/cscript调用VB脚本

    ●强制用Wscript.exe执行 SET Wshell=CreateObject("Wscript.Shell") if lcase(right(Wscript.fullName ...

  6. 【GameMaker】协程——异步执行代码

    协程 欢迎使用协程 什么是协程? 常见问题解答 协程可以在哪些平台上运行? 此代码库的许可证是什么?我可以将其用于商业项目吗? 我认为您缺少一个有用的功能,我希望您实现它! 我发现了一个错误,解决问题 ...

  7. 吉里吉里1/吉里吉里2中KAG脚本的解释执行(1)

    从我开始关注吉里吉里2这个引擎开始,就一直看到关于"KAG的执行效率比TJS2低很多"的说法.但是到底慢多少呢?没见到过具体测评. 有机会的话我看看设计一个测评方法好了.关键是看看 ...

  8. PHP 返回结果给前端/ajax后,在后台继续执行代码的方法

    1. 问题背景 在实际项目开发中,遇到一个问题: 前端通过 Ajax 请求后台 PHP API 接口,执行多文件的打包下载操作,该请求由于需要更新大量的数据(日志.统计等信息)到数据库且还需要执行较大 ...

  9. 2020年 IOS 逆向 反编译 注入修改游戏或APP的调用参数新手系列教程——使用theos tweak 注入hook修改游戏执行代码上传动态头像

    2020年 IOS 逆向 反编译 注入修改游戏或APP的调用参数新手系列教程--使用theos tweak 注入hook修改游戏执行代码上传动态头像 开篇 需求&最终效果 环境要求与即将使用的 ...

最新文章

  1. python基础===拆分字符串,和拼接字符串
  2. go mod引用git仓库中的包:拉取存放在gitee中的package
  3. u盘无法复制文件进去_U盘无法复制超过4GB的大文件怎么办?
  4. eclipse中无法移除jar包_IDEA中已配置阿里镜像,但maven无法下载jar包的问题
  5. android 开源 数据库,Android开源数据库框架-LitePal的使用
  6. 怎么理解高内聚低耦合
  7. 都说比特币无价值,涨得不合理;但你知道比特币最大的用途吗?
  8. linux系统编程 -- 僵尸进程 孤儿进程
  9. 举例说明指针的运算方法c语言,C语言中指针的使用方法
  10. c语言计算机二级常用库函数,2013年计算机二级C语言库函数的调用考点归纳
  11. 基于热传导方程的高温作业专用服装设计(二)
  12. 程序员入门编程,看这10本书,少走10年弯路
  13. 方法2:U盘,WEPE辅助安装系统
  14. 十分好用的拓扑图插件JTopo
  15. Python数据分析师工资怎么样?
  16. About norms(范数)
  17. excel快速填充_Excel教程:24秒,提取excel工作簿中300张图片
  18. day01.我们为什么要学习进制
  19. python(7) - 发送、接收电子邮件
  20. 数据加载、存储与文件格式(python)

热门文章

  1. 浪潮n系列服务器指示灯_【科恩电气】通用薄型区域传感器 NA2N系列
  2. linux创建文件内容三行,shell之创建文件及内容的方法示例
  3. oracle 存储过程打印语句,oracle学习之第一个存储过程:打印Hello World
  4. 没有varselect这个函数_C++的虚函数,虚析构函数,纯虚函数
  5. ie11加载java插件_IE浏览器中ActiveX插件的使用
  6. 单片机串口通信学号显示_触摸屏与单片机串口通信测试
  7. 小程序 php cookie,微信小程序使用Cookie
  8. 小学四年级计算机制作月历教案,四年级上册信息技术教案-1制作月历|冀教版(5页)-原创力文档...
  9. python可以做特效吗_学习mel语言,Python,JavaScript到什么程度才能做一下大型特效,要自已开发插件脚本呢?...
  10. reboot mysql fail_mysql 5.7.18,在系统重启后,为什么无法启动?