我正在嘗試通過 Composer 在客戶端的 Magento 2 上安裝擴展,但我遇到了舊的 PHP 內存不足錯誤。我的客戶端由 Bluehost 托管,不幸的是,這意味著我不能直接更改 php.ini 中的 memory_limit,因為它是只讀的,而且他們的 cPanel MultiPHP INI 編輯器不會影響 SSH。我的客戶一直與 Bluehost 聯(lián)系,他們被告知 Bluehost 不允許更改 SSH memory_limit,但是,我的客戶最近才不得不安裝不同的擴展,這需要增加 memory_limit,但他們自己做了他們不記得他們使用了什么命令或他們編輯的文件。我可以確認 Composer 已正確安裝在服務器上,因為我可以運行命令composer require path/to/extension. 這只會導致內存不足錯誤。運行命令會COMPOSER_MEMORY_LIMIT=-1 composer require amasty/advanced-review導致相同的錯誤:mmap() failed: [12] Cannot allocate memorymmap() failed: [12] Cannot allocate memoryFatal error: Out of memory (allocated 809508864) (tried to allocate 4096bytes) in phar:///opt/cpanel/composer/bin/composer/src/Composer/DependencyResolver/RuleSetGenerator.php on line 126任何人都對我可以做些什么來使事情正常工作有任何建議?
1 回答

牧羊人nacy
TA貢獻1862條經驗 獲得超7個贊
您沒有遇到 PHP 內存限制。如果出現(xiàn)這種情況,錯誤消息將類似于“已用盡 N 字節(jié)的允許內存大小”。失敗的mmap調用表明您的物理內存不足。
升級主機或在另一臺具有更多內存的機器上執(zhí)行依賴項更新。這樣做
將 composer.json 和 composer.lock 復制到內存充足的機器上
composer require amasty/advanced-review --no-scripts --ignore-platform-reqs
在那臺機器上運行將更新的 composer.json 和 composer.lock 文件復制回 Bluehost 機器
composer install
在 Bluehost 機器上運行
這是有效的,因為composer install
不做任何復雜的依賴解析,因此需要很少的內存。
- 1 回答
- 0 關注
- 231 瀏覽
添加回答
舉報
0/150
提交
取消