Intereting Posts
Преобразование символов Unicode в эквивалентные ASCII-символы FPDF – Как я могу использовать разные страницы разных размеров? PHP – Строгие стандарты: только переменные должны передаваться по ссылке В php Вместо загрузки файла csv он открывается в браузере PDO: недопустимый номер параметра: смешанные и позиционные параметры Проверьте, включен ли JavaScript с помощью PHP Google-подобная поисковая система в PHP / mySQL Как увеличить максимальное время выполнения в php PHP-суммарный результат эха на лету (сложный) График работы персонала в течение нескольких минут Уведомления GCM не принимаются, когда приложение находится в фоновом режиме в iOS Как использовать GROUP BY для concat строк в mysql Не удалось выполнить запрос SELECT в подготовленном сообщении PHP foreach loop для заполнения выпадающего списка со значениями из массива массивов Удалить дубликат в массиве на основе значения столбца

PHP memory_limit заблокирован до 256 МБ?

Я пытаюсь установить memory_limit на 512M, но это locekd для 256M.

ini_set('memory_limit','512M'); ini_get('memory_limit'); //> Returns: 256M 

Я полностью контролирую свой сервер. (это посвященный)

Обратите внимание, что все под 512M работает.

 ini_set('memory_limit','16M'); ini_get('memory_limit'); //> Returns: 16M 

Решение

Я узнал, почему. В php.ini я имел memory_limit = 256M . Возможно, это считается верхним пределом

3 возможных Я могу придумать / найти:

До PHP 5.2.1 для использования этой директивы он должен был быть включен во время компиляции с использованием –enable-memory-limit в строке configure.

ИЛИ

Проблема, подробно описанная здесь: ini_set ("memory_limit") в PHP 5.3.3 не работает вообще

ИЛИ

ini_set отключено

Вы также можете попытаться изменить memory_limit с помощью файла php.ini или .htaccess

php.ini

 memory_limit = 512M; 

.htaccess

 php_value memory_limit 512M 

Я заметил, что на моем Mac (OS X El Capitan) и новом PHP 7.0.0 я не могу изменить memory_limit через php.ini

Но я могу изменить его через /etc/apache2/httpd.conf, добавив строку в конец:

php_value memory_limit 1024M

и перезапуск сервера Apache:

Перезагрузка sudo apachectl

И это правильный php.ini, я могу изменить другие настройки через него.

Вы можете проверить свой конфигурационный файл php.ini в директиве «disable_functions». Проверьте, отключена ли функция ini_set.

Кроме того, если safe_mode включен, такой параметр не может быть переопределен.

Я узнал, почему. В php.ini я имел memory_limit = 256M . Возможно, это считается верхним пределом.

Я подчёркивал это до своей потребности.

Немного поздно, но редактирование файла php.ini не работает для php 7.1 с использованием Mac OS 10.11.6. Я все еще продолжал получать «PHP Fatal error: Allowed memory size of ….», который по своему значению показал, что параметр памяти не обновлялся после запуска apache.

Поэтому вместо редактирования файла.

 /usr/local/php5/lib/php.ini 

Я обнаружил, что изменение следующего файла исправило эту проблему.

 /usr/local/php5/php.d/99-liip-developer.ini 

Этот файл фактически заменил значения, установленные в исходном файле php.ini. Снова внесение следующих изменений в строку …

 memory_limit = 256M 

в

 memory_limit = 1024M 

И перезапуск apache.

 sudo /usr/sbin/apachectl restart