Есть ли у встроенного веб-сервера PHP ограничение памяти?

Я локально размещаю скрипты PHP в PhpStorm, используя конфигурацию "Встроенный веб-сервер PHP". Один сценарий требует много памяти, поэтому я добавил ini_set('memory_limit', 8589934592); # 8GiB в начале (настройка работает, я проверил ini_get('memory_limit')).

Но когда я запрашиваю ссылающуюся ссылку, выполнение сценария завершается неудачно со следующим сообщением об ошибке в журнале ошибок:

PHP Fatal error: Out of memory (allocated 1793064960) (tried to allocate 8334 bytes) in ...

Он может выделить только около 1,7 ГБ.

Кто-нибудь знает, почему это происходит? Я предполагаю, что встроенный веб-сервер PHP имеет ограничение памяти, но я ничего не могу найти по этому поводу.


PS: я использую PHP v5.6, Windows 8 и PhpStorm 10.0.3


Изменить: Мой компьютер имеет около 10 Гб свободной оперативной памяти для использования

1 ответ

Решение

Вы запускаете веб-сервер в 32 бит? Если это так, может быть разрешено использовать только макс. 2 ГБ: Сколько памяти может получить доступ к 32-битному процессу в 64-битной операционной системе?

Я думаю, что вы можете проверить это с константой PHP_INT_SIZE: Проверка, работает ли ваш код на 64-битном PHP

Другие вопросы по тегам