如何找出服务器使用PHP允许的请求超时设置的最大限制?

问题描述:

正如我们在大多数情况下通过使用php函数set_time_limit或通过等php.ini设置来增加最大执行时间。 但是在服务器上总是有一些最大限制来设置它。 phpinfo()向我们显示了在服务器上设置的默认max_execution_time,但有时我们可以使用前面几行中描述的方法增加它。我想检测我们允许增加多少执行时间设置。我只想检测通过PHP脚本,因为我没有服务器访问,我想显示此限制的证明:)如何找出服务器使用PHP允许的请求超时设置的最大限制?

在此先感谢。

+0

从来没有看过这个我自己所以不能肯定地说,但我相当确定PHP没有限制。然而,Apache/nginx/etc有限制,所以这可能是杀死脚本的原因。当然,客户端的超时时间根本无法控制。 – Corbin 2012-03-30 02:15:31

+0

如果至少有任何linux命令来获取它,那么我们可以通过shell_exec()函数或exec()函数找到它。由于服务器总是有一些限制,即使它是虚拟服务器托管或共享托管。 – aslamdoctor 2012-03-30 02:18:21

+0

创建一个脚本,设置一个值,睡觉该值,看看它是否正常完成,然后添加到它,然后再试一次。 – 2012-03-30 02:19:10

这是很难检测服务器的默认设置,但我建议使用这样的事情:

<?php 
    $start = time(); 
    register_shutdown_function(function() { 
     $finish = time(); 
     $total = $finish - $start; 
     // Store $total in DB 
    }); 

    set_time_limit(1); // Set time limit to 1 second (optional) 
    for (;;) ; 
?> 

,值存储在数据库中。在初始化脚本时,请检查是否存在现有值 - 如果不是将上述函数作为函数运行并保存。如果存在,你有你的电话号码。

你可以找到更多关于此代码here和通过PHP的documentation

+1

不,不是这个。正如我所说的,我希望得到最大的执行时间,我被允许增加。 – aslamdoctor 2012-03-30 02:14:28

+0

对不起,我误解了这个问题。已经改变了解决方案。 – hohner 2012-03-30 02:20:04