好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

php设置超时无效 php时间设置

很多站长朋友们都不太清楚php设置超时无效,今天小编就来给大家整理php设置超时无效,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 PHP file_get_contents 函数超时的几种解决方法 2、 几种常见的PHP超时处理方法 3、 php进程超时接口返回504错误分析 4、 php执行超时怎么办?在IIS上,文件里设置了set_time_limit(0); 还是会超时。 5、 centos下 php 超时设置不生效 PHP file_get_contents 函数超时的几种解决方法

这里就简单介绍两种:

一、增加超时的时间限制

这里需要注意:set_time_limit只是设置你的PHP程序的超时时间,而不是file_get_contents函数读取URL的超时时间。

我一开始以为set_time_limit也能影响到file_get_contents,后来经测试,是无效的。真正的修改file_get_contents延时可以用resource

$context的timeout参数:

复制代码

代码如下:

$opts

=

array(

‘http'=>array(

‘method'=>”GET”,

‘timeout'=>60,

)

);

$context

=

stream_context_create($opts);

$html

=file_get_contents('',

false,

$context);

fpassthru($fp);

二、一次有延时的话那就多试几次

有时候失败是因为网络等因素造成,没有解决办法,但是可以修改程序,失败时重试几次,仍然失败就放弃,因为file_get_contents()如果失败将返回

FALSE,所以可以下面这样编写代码:

复制代码

代码如下:

$cnt=0;

while($cnt

<

3

($str=@file_get_contents('http…'))===FALSE)

$cnt++;

几种常见的PHP超时处理方法

一、在php.ini里面设置 max_execution_time = 1800;

二、通过PHP的ini_set 函数设置 ini_set("max_execution_time", "1800");

三、通过set_time_limit 函数设置 set_time_limit(1800) ;

php进程超时接口返回504错误分析

在一次接口测试中,发现返回的http 504 time out 的错误,然后查看了php-fpm的错误日志,发现了如下错误

从表现上看,是php进程超时导致的进程被kill了,那么这个超时时间以及kill的机制是跟哪些参数有关呢,这里系统这里一下。

Nginx服务一般因为php的错误或者超时会有两种错误码502 bad Gateway 或者 504 Gateway Time-out

一种情况是php产生了语法错误,比如循环调用、变量作用域错误、方法不存在等,如果开启错误日志输出的话,这种错误在php-fpm的错误日志中是可以看到调用栈信息的。

另外一种情况可能就是超时引起的php-fpm主动kill的情况,在php.ini和php.fpm中有两个配置项,用来管理php脚本的最大执行时间

当php脚本的执行时间超过这个时间时,PHP-FPM不只会终止脚本的执行,还会终止执行脚本的Worker进程。所以Nginx会发现与自己通信的连接断掉了,就会返回给客户端502错误。

以顶部的错误为例,当报502错误是,nginx的errorlog中有如下日志,:

所以只需将这两项的值调大一些就可以让PHP脚本不会因为执行时间长而被终止了。request_terminate_timeout可以覆盖max_execution_time,

所以如果不想改全局的php.ini,那只改PHP-FPM的配置就可以了。

此外要注意的是Nginx的upstream模块中的max_fail和fail_timeout两项。这两个配置表示在fail_timeout事件内,如果fail的测试达到max_fail,那么在接下来的fail_timeout时间内,Nginx都会认为上游服务器挂掉了,都会返回502错误。

所以可以将max_fail调大一些,将fail_timeout调小一些。

PHP-FPM设置的脚本最大执行时间已经够长了,但执行耗时PHP脚本时,发现Nginx报错从502变为504了。这是为什么呢?

因为我们修改的只是PHP的配置,Nginx中也有关于与上游服务器通信超时时间的配置

以Nginx超时时间为90秒,PHP-FPM超时时间为300秒为例,报504 Gateway Timeout错误时的Nginx错误访问日志如下:

调高这三项的值(主要是read和send两项,默认不配置的话Nginx会将超时时间设为60秒)之后,504错误也解决了。

而且这三项配置可以配置在http、server级别,也可以配置在location级别。担心影响其他应用的话,就配置在自己应用的location中吧。

要注意的是factcgi_connect/read/send_timeout是对FastCGI生效的,而proxy_connect/read/send_timeout是对proxy_pass生效的。

参考链接: 感谢分享!

php执行超时怎么办?在IIS上,文件里设置了set_time_limit(0); 还是会超时。

执行权限是设为纯脚本的没错!

问题是系统权限的设定。估计你的是2003的系统吧?XP我配过N次,也没出来这种问题。

参看我写的文章

希望能帮你解决问题

centos下 php 超时设置不生效

首先可以明确的是:

代码没有错

不对,应该说是代码有错

能正常报错

但为什么不报错呢

有可能你php.ini中display_errors=Off了,改成On试试。

关于php设置超时无效的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于php设置超时无效 php时间设置的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did196742
更新时间:2023-04-26   阅读:117次

上一篇: php写2进制文件 php 进制转换

下一篇:php5.6cgi的简单介绍

最新资料更新

  • 1.php存储的知识 php会话保存数据的两种方式是
  • 2.phpoa推荐 php推荐书籍
  • 3.php下载csv乱码 php下载文件名乱码
  • 4.php获取post值 php如何获取url参数
  • 5.php求100的质数 php求出1100的素数
  • 6.哈希mapphp 哈希map和哈希table区别
  • 7.铜仁php招聘信息 铜仁工作招聘信息
  • 8.phpwhere循环 php中的循环
  • 9.php判断08数字 php 判断数字
  • 10.php解压gz效率 rarphp文件怎么解压
  • 11.php的if语句 php的if语句运用
  • 12.商品展示模块php 商品展示模块的设计要点
  • 13.mk_dirphp mkdirphp
  • 14.php文件工具类 php文件处理
  • 15.php中table行宽 php网页表格
  • 16.什么是php行为 什么是php,php有哪些优点
  • 17.免费php空间shery 免费PHP空间 免备案 V52版本
  • 18.php代码修改按钮大小 php内容修改
  • 19.口袋源码php下载 口袋com
  • 20.php部署云空间 php云开发

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]