Php 检查最大执行时间和内存限制是否设置为所需值
我有以下php函数Php 检查最大执行时间和内存限制是否设置为所需值,php,Php,我有以下php函数 function allocate_resources() { ini_set('max_execution_time',2700); //set maximum execution time of script ini_set('memory_limit','1024M'); //set memory_limit for script } 这个函数在许多函数中被调用来分配资源,所以我想检查一下 如果max\u execution\u time未设置为270
function allocate_resources()
{
ini_set('max_execution_time',2700); //set maximum execution time of script
ini_set('memory_limit','1024M'); //set memory_limit for script
}
这个函数在许多函数中被调用来分配资源,所以我想检查一下
如果max\u execution\u time未设置为2700,则将其设置为2700
如果未将内存限制设置为1024M,则将其设置为1024M
也欢迎任何更好的解决方案。使用ini\u get()
从
(PHP4、PHP5、PHP7)
获取配置选项的值
e、 g.$max_exec_time=ini_get('max_execution_time')代码>使用
$max_time = ini_get("max_execution_time");
$memory_limit = ini_get('memory_limit');
要获得最大执行时间
和内存限制
。如果
,则使用,检查这些值是否已设置,如果未设置,则应用您的值
获取内存\u限制
:
$memory_limit = ini_get('memory_limit');
if (preg_match('/^(\d+)(.)$/', $memory_limit, $matches)) {
if ($matches[2] == 'M') {
$memory_limit = $matches[1] * 1024 * 1024; // nnnM -> nnn MB
} else if ($matches[2] == 'K') {
$memory_limit = $matches[1] * 1024; // nnnK -> nnn KB
}
}
应该注意的是ini\u集('max\u execution\u time',2700)代码>和设置时间限制(2700)代码>不是完全同义的,因为set\u time\u limit()
会将计数器“重置”为0,而ini\u set()
则不会。谢谢@Sinto,如何检查如果(ini\u get(“memory\u limit”)<1024M)
并避免PHP解析错误:语法错误,我函数中意外的'M'
值是硬编码的,如果(ini_get(“memory_limit”)<1048576){ini_set('memory_limit','1024M');}
Ya,您可以直接使用它