php页面函数设置超时限制的方法
本文实例讲述了php页面函数设置超时限制的方法。分享给大家供大家参考。具体方法如下:
碰到页面程序执行超时时会提醒Fatal error: Maximum execution time of 300 seconds exceeded 是因为程序执行时间超过了最大允许执行时间,解决办法我们总结了几个供大家选择.
对于函数我们可以常用下面方法,直接给函数设置超时时间来操作,代码如下:
declare(ticks = 1);
function a(){
sleep(10);
echo "a finishi ";
}
function b(){
echo "Stop ";
}
function c(){
usleep(100000);
}
function sig(){
throw new Exception;
}
try{
pcntl_alarm(1);
pcntl_signal(SIGALRM, "sig");
a();
pcntl_alarm(0);
}catch(Exception $e){
echo "timeout ";
}
b();
a();
b();
对于文件或程序代码可使用set_time_limit只是设置你的PHP程序的超时时间.
解决方法:
1.修改php.ini文件,代码如下:
max_execution_time = 30; // Maximum execution time of each script, in seconds 原值30秒,你可以改大点.
改完后记得重启php,该方法改了后对所有程序生效.
2.修改你的程序,在你需要耗时超过默认值(30秒)的脚本中,加入代码:
set_time_limit(300); // 最大执行时间这里设置300秒
设置成0表示不限时。
希望本文所述对大家的PHP程序设计有所帮助。
相关推荐
-
ASP.NET页面请求超时时间设置多种方法
ASP.NET 页面请求超时时间(页面后台程序执行时间)默认值为110秒(在 .NET Framework 1.0 版和 1.1 版中,默认值为 90 秒) 即: Server.ScriptTimeout = 110(HttpServerUtility.ScriptTimeout = 110) System.Web.Configuration.HttpRuntimeSection().ExecutionTimeout.ToString() =00:01:50(110 秒) 方法一:设置 Serv
-
登录超时给出提示跳到登录页面(ajax、导入、导出)
一.一般页面登录超时验证,可以用过滤器filter,如下: package com.lg.filter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequ
-
设置ASP.NET页面的运行超时时间详细到单个页面及站点
全局超时时间 服务器上如果有多个网站,希望统一设置一下超时时间,则需要设置 Machine.config 文件中的 ExecutionTimeout 属性值. Machine.config 文件位于 %SystemRoot%\Microsoft.NET\Framework\%VersionNumber%\CONFIG\ 目录中. 例如: 复制代码 代码如下: <httpRuntime executionTimeout="90" maxRequestLength="409
-
Asp中Server.ScriptTimeOut属性需要注意的一点分析
这个属性的服务器默认值是90,单位是秒,我们可以通过这样的代码输出这个值: 复制代码 代码如下: <% Response.Write Server.ScriptTimeOut Response.Write " Http://www.jb51.net" %> 由于IIS默认的ScriptTimeout值是90秒(其实是在IIS Metabase中设置的),所以我们可以在我们的程序中改变这个值: 复制代码 代码如下: <%Server.ScriptTimeOut=100%
-
ajax提交session超时跳转页面使用全局的方法来处理
在过滤器中写入如下方法: 复制代码 代码如下: public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest httprequest = (HttpServletRequest) request; HttpServletResponse httpresponse =
-
.net让线程支持超时的方法实例和线程在执行结束后销毁的方法
.net让线程支持超时 使用 CancellationTokenSource 复制代码 代码如下: private static void TimeoutTest1() { var cts = new CancellationTokenSource(); var thread = new Thread(() => { Console.WriteLine(String.Format("线程{0}执行中&q
-
Asp.Net各种超时问题总结
在数据库或者请求操作时,如果选择的时间段过短或操作数据量过大,就会遇到"请求超时"的的问题,网络上提供很多解决方案,但普遍不完善,根据个人经验及参考网络解决方案,先将其汇总如下: 根据错误类型,大致分为如下几种情况 1:Asp.net请求超时 2:IIS请求超时 3:数据库连接超时 4: 数据库操作超时 5:应用程序池回收(低) 6:Webservice等服务请求超时 下面根据上述情况一一作出处理1:Asp.net请求超时 http请求超时可以在webconfig中进行全局配置,(单位
-
php设置页面超时时间解决方法
有时候我的页面因为网络卡,会一直转,我想是不是可以给页面设置一个超时时间,多久没反应就提示超时 比如php里的set_time_limit(300) 我想不是php页面也有个超时机制 ------解决思路---------------------- php 里不就是set_time_limit() 吗,你还可以设置php.ini中的max_execution_time来改变全局超时时间. ------解决思路---------------------- max_execution_time --
-
超过了脚本运行的最长时间..Server.ScriptTimeOut 属性指定新值
为了有最高的性能,平台将Server.ScriptTimeOut的时间设置为15秒,就是说,一个ASP页面必须在15秒内在cpu中运行完成,如果不完成,就会出错. 有一些用户用大的论坛,需要长时间的计算,就有可能需要修改这个参数,修改办法: 打开IIS--本地计算机,点网站,右键---属性--主目录--配置--选项---ASP脚本超时时间,可以改为60-90秒.
-
JS实现页面超时后自动跳转到登陆页面
JS代码: 复制代码 代码如下: <script language="javascript"> var myTime = setTimeout("Timeout()", 60000); function resetTime() { clearTimeout(myTime); myTime = setTimeout('Timeout()', 60000); } function Timeout() { al
随机推荐
- ASP.NET 5中使用AzureAD实现单点登录
- Linux Nginx下SSL证书安装方法及WordPress CDN配置
- python 实现插入排序算法
- Linux CentOS系统下安装node.js与express的方法
- Server.HTMLEncode让代码在页面里显示为源代码
- Python找出list中最常出现元素的方法
- windows使用nginx实现网站负载均衡测试实例
- php版微信小店调用api示例代码
- jQuery对象与DOM对象之间的相互转换
- Spring AOP 基于注解详解及实例代码
- Lua脚本语言简介
- Lua中的函数写法简明示例
- node.js中的fs.readlink方法使用说明
- 按日期选择最晚日期与最早日期对应的数的差值
- SQL 查询和删除重复字段数据的方法
- MongoDB学习笔记—Linux下搭建MongoDB环境
- IIS7.5 无法验证对路径问题的解决方法
- JQuery zClip插件实现复制页面内容到剪贴板
- C#控件命名规范
- 关于网站运营几点个人的体会