Web

Есть ли способ обновить расширение через composer и обойти ошибку ограничения памяти в Magento2

Я знаю, что есть много сообщений на тему ограничения памяти, я пытался пофиксить проблему, но у меня не получилось. Вот и решил, разместить вопрос, может быть есть какое-то решение.

Вопрос: У меня есть ограничение памяти 2GB, определенное в php, что является максимальным доступным на текущем хостинге. Я использую magento2 и обновляю расширения с помощью composer. Раньше все работало безупречно, но теперь выдает сообщение об ошибке памяти. Пожалуйста, посмотрите код ниже. Могу ли я как-то заставить команду запуститься и установить расширение? Более того, я пробовал использовать composer_memory_limit=-1, чтобы временно отключить ограничение памяти, но это не помогло. Пожалуйста, помогите.

[techonda@depro13 ]$ php -i | grep memory

memory_limit => 2G => 2G

Collecting memory statistics => No

opcache.memory_consumption => 128 => 128

opcache.preferred_memory_model => no value => no value

opcache.protect_memory => 0 => 0

 

[techonda@depro13 ]$ composer_memory_limit=-1 composer require  amasty/shopby 2.16.1 --update-with-dependencies

    Warning from https://repo.packagist.org: You are using an outdated version of Composer. Composer 2 is now available and you should upgrade. S

    ee https://getcomposer.org/2

    ./composer.json has been updated

    Loading composer repositories with package information

    Warning from https://repo.packagist.org: You are using an outdated version of Composer. Composer 2 is now available and you should upgrade. S

    ee https://getcomposer.org/2

    Updating dependencies (including require-dev)

    

    Fatal error: Allowed memory size of 2147483648 bytes exhausted (tried to allocate 528384 bytes) in phar:///usr/local/bin/composer/src/Compose

    r/DependencyResolver/Decisions.php on line 38

    

    Check https://getcomposer.org/doc/articles/troubleshooting.md#memory-limit-errors for more info on how to handle out of memory errors.[techon

    da@depro13 ]$

 

Ответ 1

Никогда, никогда не запускайте composer require, ни в одной производственной системе. Запустите его в своей системе разработки, которая может иметь больше памяти, поставьте composer.lock в системе контроля версий и правильно разверните приложение.

Кроме того, может помочь использование текущих версий PHP (по крайней мере, v7) и последний Composer, поскольку они предлагают более высокую производительность.

Схожие статьи

Web

Как определить язык браузера в PHP

Web

Потеря PHP сеанса после перенаправления

Web

Функция PHP для генерации UUID v4

Web

Как удалить index.php из пути codeigniter

×