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 RAM, это просто специальный скрипт.

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

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

     php_value memory_limit 2048M 

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

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

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

     ini_set("memory_limit",-1); 

    Обычно это должно ограничивать пределы

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

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

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

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

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

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

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

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

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

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

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