Установка ограничения памяти PHP в XAMPP - PullRequest
0 голосов
/ 09 января 2019

Я заметил странное поведение в XAMPP v3.3.2 с настройками ограничения памяти PHP. На моем компьютере установлено Windows 10, а на моем компьютере 8GB of memory. В моем файле php.ini ограничение памяти установлено на 1024M. Я также сделал этот простой php файл для тестирования:

<?php

echo ini_get('memory_limit');
exit;
?>

Запустив этот файл с другими параметрами командной строки, я получаю следующие выходные данные:

php -d memory_limit=512M test.php выходы 512M
php -d memory_limit=2048M test.php выходы 2048M
php -d memory_limit=4096M test.php выводит следующее сообщение об ошибке:

PHP Fatal error:  Allowed memory size of 262144 bytes exhausted (tried to allocate 341351 bytes) in Unknown on line 0

Fatal error: Allowed memory size of 262144 bytes exhausted (tried to allocate 341351 bytes) in Unknown on line 0

php -d memory_limit=5000M test.php выводит 5000M , но я все еще считаю, что он не использует 5000M памяти (было выполнено несколько расширенных тестов, заполняющих массивы числами, и оба теста с установленным 2048M и с 5000M установить выходы на тот же номер, с тем же сообщением:

PHP Fatal error:  Out of memory (allocated 1457258496) (tried to allocate 134217728 bytes) in C:\xampp\htdocs\test\extended_test.php on line 733

Fatal error: Out of memory (allocated 1457258496) (tried to allocate 134217728 bytes) in C:\xampp\htdocs\test\extended_test.php on line 733


Я наткнулся на это при попытке выделить больше памяти для скрипта, который должен работать на моем компьютере. Есть идеи, что может быть причиной этого?

1 Ответ

0 голосов
/ 22 января 2019

Уменьшение ThreadsPerChild со 150 до более низкого значения решило это для меня. Тем не менее, я не мог объяснить связи и фон между всеми настройками в модуле MPM и, наконец, «кто» предотвращает выделение большего объема памяти.

<IfModule mpm_winnt_module>
    ThreadStackSize 8388608
    ThreadsPerChild 150  # ← try to decrease this value slightly on "Out of Memory" errors under windows.
    MaxConnectionsPerChild   0
</IfModule>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...