Задать вопрос
@maksim_fix
Junior PHP developer

Почему composer жрет ОЗУ?

Заказал VPS(512 mb ОЗУ), решил установить laravel, вроде работает. Решил добавить пакет, выводит ошибку "нехватка памяти или отсутствие файла подкачки". Посмотрел, с подкачкой все норм, увеличил memory_limit в php_ini до 256 mb, ошибка та же. Сегодня переустановил систему и решил установить laravel, но тут та же ошибка:
The following exception is caused by a lack of memory or swap, or not having swap configured
Check https://getcomposer.org/doc/articles/troubleshooting.md#proc-open-fork-failed-errors for details

PHP Warning:  proc_open(): fork failed - Cannot allocate memory in phar:///usr/local/bin/composer/vendor/symfony/console/Application.php on line 952

Warning: proc_open(): fork failed - Cannot allocate memory in phar:///usr/local/bin/composer/vendor/symfony/console/Application.php on line 952
                                                     
  [ErrorException]                                   
  proc_open(): fork failed - Cannot allocate memory

Куда девается память? До этого на хостинге проблем не было, хотя, не думаю что там было больше ОЗУ.
PS: Да, я гуглил проблему, везде пишут про подкачку но с ней все ок. Также изучил ответ от установщика(ссылку, которую порекомендовал установщик), но прописать те команды не смог, нет доступа( . кстате, Lumen(mini Laravel) установить удалось
  • Вопрос задан
  • 407 просмотров
Подписаться 2 Простой 1 комментарий
Решения вопроса 1
@Flying
Проблема Composer'а с потреблением памяти при обновлении с большим количеством зависимостей - весьма известная, достаточно посмотреть в их issue tracker (1,2 и множество других).

Jordi Boggiano, один из авторов Composer говорит (к примеру здесь) что проблема будет принципиально решена во второй версии, которая сейчас в разработке.

Aside note: обычно команды, модифицирующие список пакетов (и требующие для этого кучу памяти) стоит запускать только при разработке (т.е. к примеру на вашей локальной машине), для деплоя проекта необходимо использовать composer install, а он много памяти не требует.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы