#php
#php
Вопрос:
max_execution_time = 30 ; Maximum execution time of each script, in seconds
max_input_time = 60 ; Maximum amount of time each script may spend parsing request data
;max_input_nesting_level = 64 ; Maximum input variable nesting level
memory_limit = 128M ; Maximum amount of memory a script may consume (128MB)
По умолчанию 128 МБ, все в порядке
Но когда я редактирую php.ini следующим образом
memory_limit = 128000000 ; Maximum amount of memory a script may consume (128MB)
Я получил, я замечаю :
Неустранимая ошибка: допустимый размер памяти 262144
128000000 @ 128 МБ или apache не знают 128000000
Комментарии:
1. Пожалуйста, покажите точную строку в php.ini, которую вы используете.
2. Если это сработает, не исправляйте это!
3. Я хочу знать, правильный способ установить это значение 128M или 128000000 или оба способа верны
4. Я думаю, что у вас проблема в вашем коде. Можете ли вы предоставить нам свои строки, в которых произошла ошибка? Возможно, это неправильная рекурсия или цикл.
Ответ №1:
Мы не знаем, как анализатор php ini обрабатывает ваш запрос, если вы не используете их стандартный способ записи размера памяти с использованием буквы в конце.
Одно можно сказать наверняка, хотя, даже если это не равно 262144, 128 000 000 никогда не будут 128 МБ, а скорее 122 МБ, потому что, как я уверен, вы знаете, 1 МБ = 1024 * 1024 байта!!
Если вам действительно нужно то, что вы делаете, вы можете попробовать: 128000000b (обратите внимание на ‘b’ в конце числа), но я не уверен, что разработчик синтаксического анализатора php ini когда-либо думал, что кто-то будет забрасывать их байтами.
Ответ №2:
Правильный способ — использовать unit ( 128M
)
Ответ №3:
Поведение по умолчанию, если задано целое число, заключается в интерпретации его как байтов. Смотрите http://php.net/manual/en/ini.core.php. И, как указал Яхель, 1 МБ = 1024 байта. Итак, если вы хотите 128 МБ, вы либо пишете «128M», либо «134217728»
Также помните, что вы всегда можете проверить, на что установлен ваш лимит памяти с помощью phpinfo();
Если ваш php не был скомпилирован с помощью —enable-memory-limit в строке configure (если вы используете версию более раннюю, чем 5.2.1), то ничего из этого не сработает.
Ответ №4:
Вы должны написать, как показано ниже.
оно должно быть кратно 8 memory_limit = 128 Мб ; Максимальный объем памяти, который может использовать скрипт (128 МБ)
По умолчанию он занимает память в МБ.