如何找出服务器使用PHP允许的请求超时设置的最大限制?
正如我们在大多数情况下通过使用php函数set_time_limit
或通过等php.ini
设置来增加最大执行时间。 但是在服务器上总是有一些最大限制来设置它。 phpinfo()
向我们显示了在服务器上设置的默认max_execution_time,但有时我们可以使用前面几行中描述的方法增加它。我想检测我们允许增加多少执行时间设置。我只想检测通过PHP脚本,因为我没有服务器访问,我想显示此限制的证明:)如何找出服务器使用PHP允许的请求超时设置的最大限制?
在此先感谢。
这是很难检测服务器的默认设置,但我建议使用这样的事情:
<?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。
不,不是这个。正如我所说的,我希望得到最大的执行时间,我被允许增加。 – aslamdoctor 2012-03-30 02:14:28
对不起,我误解了这个问题。已经改变了解决方案。 – hohner 2012-03-30 02:20:04
从来没有看过这个我自己所以不能肯定地说,但我相当确定PHP没有限制。然而,Apache/nginx/etc有限制,所以这可能是杀死脚本的原因。当然,客户端的超时时间根本无法控制。 – Corbin 2012-03-30 02:15:31
如果至少有任何linux命令来获取它,那么我们可以通过shell_exec()函数或exec()函数找到它。由于服务器总是有一些限制,即使它是虚拟服务器托管或共享托管。 – aslamdoctor 2012-03-30 02:18:21
创建一个脚本,设置一个值,睡觉该值,看看它是否正常完成,然后添加到它,然后再试一次。 – 2012-03-30 02:19:10