php页面函数设置超时限制的方法

yipeiwu_com5年前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程序设计有所帮助。

相关文章

解析linux下安装memcacheq(mcq)全过程笔记

memcacheQ是一个单纯的分布式消息队列服务。一,MEMCACHEQ的应用背景Web应用中为什么会需要消息队列?主要原因是由于在高并发环境下,由于来不及同步处理,请求往往会发生堵塞,...

PHP 命名空间实例说明

复制代码 代码如下:namespace bak\ba\ba; function bab(){ echo "bi"; } namespace kkk; function k1(){ ech...

php分割合并两个字符串的函数实例

本文实例讲述了php分割合并两个字符串的函数。分享给大家供大家参考。具体实现方法如下: 这里实现把两个字符串进行分割合并,例如str1=aaaa,str2=bbbb,合并后生成ababa...

PHP类的特性实例分析

本文实例讲述了PHP类的特性。分享给大家供大家参考,具体如下: 对象向下传递特性 当一个对象调用一个实例方法,然后在该方法中又去静态调用另一个类的方法,则在被静态调用的方法中获得源方法中...

PHP+apc+ajax实现的ajax_upload上传进度条代码

PHP+apc+ajax实现的ajax_upload上传进度条代码

本文实例讲述了PHP+apc+ajax实现的ajax_upload上传进度条代码。分享给大家供大家参考,具体如下: 上传进度条是怎么实现的呢?原理是怎么样的呢?当我们浏览...