2017-01-25 13 views
1

При попытке установить пакет Contao с помощью клиента Composer я получаю ошибку:PHP из ошибки памяти не отражает memory_limit настройки в php.ini

Fatal error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 134217728 bytes) in phar://D:/wamp/www/myproject/composer/composer.phar/src/Composer/DependencyResolver/Solver.php on line 220

Я действительно запутаться. Мой предел памяти PHP установлен на уровне 512M. phpinfo() подтверждает это. Но 1073741824 - гигабайт! И этого все еще недостаточно, как будто скрипт полностью игнорирует ограничение памяти PHP (где?) И даже гигабайт недостаточно!?!?

Что я могу сделать? Я читал о RLimitMEM, но я не могу найти такую ​​настройку где-либо на WAMPServer.

ответ

0

Я нашел ответ.

Я искал проект memory_limit и выяснил, что клиент композитора пытается установить лимит памяти в system/modules/!composer/src/Runtime.php Существует эта линия: @ini_set('memory_limit', '1024M'); я изменил его на @ini_set('memory_limit', '2048M'); удваивая доступную память, и она работала.

+0

Я должен прокомментировать здесь, что я думаю, что это абсолютно ужасно, что PHP-скрипт использует столько памяти. Я просто не понимаю. –

+1

Это часть разрешения, определяющая зависимость от Composer. Из-за успеха платформы управления пакетом композиторов есть __a лоты пакетов во множестве версий там сейчас. В зависимости от настроек 'composer.json' (' minimum-stability') это приводит к большой сложности, что, в свою очередь, требует большой памяти. См. Https://github.com/composer/composer/issues/1898 и другие билеты, например. – fritzmg

1

Для клиента-композитора рекомендуется использовать автономный режим . Если у вас есть подходящая среда CLI, у вас будет нет ограничение памяти и нет максимальное время выполнения. Также оба этих ограничения можно контролировать с помощью аргументов командной строки.

Однако это не работает во всех средах хостинга. См. Эту запись в Wiki для получения более подробной информации: https://github.com/contao-community-alliance/composer-client/wiki/Execution-modes

 Смежные вопросы

  • Нет связанных вопросов^_^