我知道可以通过这种方式在//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
文件中设置PHP内存限制:
.htaccess
或使用<IfModule mod_php5.c>
php_value memory_limit 1024M
</IfModule>
代替mod_php7.c
,如果运行PHP7,而不是PHP5。
但是,如果全局配置中设置的原始mod_php5.c
低于memory_limit
值,是否有办法(某些条件指令)才能执行此操作?即确保.htaccess
文件中的条目总是增加,而不是减少限制?
答案 0 :(得分:1)
不,这不是(直接)可能的。但是,您可以做的是auto_prepend
一个可以满足您需求的PHP文件。您可以在.htaccess
文件中指定此文件,它将被添加到任何PHP文件中:
<强> raise_memory_limit.php:强>
// return_bytes() function directly taken from http://php.net/ini_get
function return_bytes($val) {
$val = trim($val);
$last = strtolower($val[strlen($val)-1]);
switch($last) {
// The 'G' modifier is available since PHP 5.1.0
case 'g':
$val *= 1024;
case 'm':
$val *= 1024;
case 'k':
$val *= 1024;
}
return $val;
}
if (return_bytes(ini_get('memory_limit')) < 1024 * 1024 * 1024) {
ini_set('memory_limit', '1024M');
}
<强>的.htaccess 强>:
php_value auto_prepend_file "./raise_memory_limit.php"
这样,您就不必触摸任何PHP文件,并且仍然可以在应用程序运行之前执行PHP代码。请注意,您在此处指定的任何全局变量和函数都将在您的所有PHP文件中提供,因此请注意这一点。