По причинам плохой мне нужно установить 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