Давайте проведем тест с двумя примерами:
<?php
$memory = (int)ini_get("memory_limit"); // Display your current value in php.ini (for example: 64M)
echo "original memory: ".$memory."<br>";
ini_set('memory_limit','128M'); // Try to override the memory limit for this script
echo "new memory:".$memory;
}
// Will display:
// original memory: 64
// new memory: 64
?>
Приведенный выше пример не работает для переопределения значения memory_limit.Но это будет работать:
<?php
$memory = (int)ini_get("memory_limit"); // get the current value
ini_set('memory_limit','128'); // override the value
echo "original memory: ".$memory."<br>"; // echo the original value
$new_memory = (int)ini_get("memory_limit"); // get the new value
echo "new memory: ".$new_memory; // echo the new value
// Will display:
// original memory: 64
// new memory: 128
?>
Вы должны поместить ini_set('memory_limit','128M');
в начало файла или как минимум перед любым эхом .
Что касается меня, suhosin не был решением, потому что он даже не появился в моем phpinfo (), но это сработало:
<?php
ini_set('memory_limit','2048M'); // set at the top of the file
(...)
?>