Подтвердить что ты не робот

PHP: настройки memory_limits> 1024M не работает

По причинам плохой мне нужно установить memory_limits выше 1G для каталога, но на моем PHP 5.2.17 на сервере Lenny, когда я ставлю, например, 2048M, я получаю только значение по умолчанию php.ini(256M).

PHP запускается как модуль apache, phpinfo дает нам (для каталога)

memory_limit    1024M   256M
suhosin.memory_limit    0   0

Есть ли ограничение из-за модуля apache или PHP conf? Я знаю, что у сервера только 4G ОЗУ, это просто специальный script.

4b9b3361

Ответ 1

Как вы пытаетесь установить ограничение на память? phpinfo() показывает текущий предел зарезервированной памяти в PHP, это то, что доступно из-за того, что php.ini имеет значение, установленное как ограничение памяти

Написание этого в Apache.htaccess в вашем каталоге script может работать, если ваш сервер поддерживает установку команд PHP через .htaccess:

php_value memory_limit 2048M

Так как возможно, что команды .htaccess для установки значений PHP отключены. Затем вы также можете попробовать это из PHP-кода:

ini_set('memory_limit', '2048M');

Если это не работает и .htaccess также не работает, вам необходимо обратиться к администраторам сервера.

Ответ 2

ini_set("memory_limit",-1);

Это обычно должно устранять ограничения

Ответ 3

У меня была такая же проблема, когда мне понадобился мой PHP script для использования 4 ГБ ОЗУ. Причина не имеет значения. Целью было установить ограничение на 4 ГБ в PHP.

Первоначальная идея заключалась в использовании ini_set('memory_limit', '4096M');, но я обнаружил, что это не сработало. Я понятия не имею, как и почему быть честным, но для меня это было не важно в то время. Я нахожусь в системе с 32 ГБ ОЗУ, это должно быть возможно.

Я обнаружил, что установка ограничения на 1 Мб менее наработанная, это решение, которое сработало для меня.

ini_set('memory_limit', '4095M'); // 4 GBs minus 1 MB

Изменить ноябрь '16. На самом деле, я никогда не играл с ним раньше, но я заметил в своей системе, что это значение, похоже, полностью удаляет все ограничения памяти для меня. Я могу использовать столько оперативной памяти, сколько может предоставить моя система.

Ответ 4

Как описано здесь: http://www.hardened-php.net/suhosin/configuration.html#suhosin.memory_limit

Suhosin не позволит вам установить значение, большее, чем начало script.

Если вы установите suhosin.memory_limit на 2048M, вы сможете увеличить объем использования памяти.

Ответ 5

У меня также возникла проблема с этой ошибкой, импортировав файл XLS в DB.

Решение было ini_set('memory_limit', '2048M'); применить эту команду непосредственно в файле, где проблема.

Например: Phpmyadmin\libraries\PHPExcel\PHPExcel\Worksheet.php