我正在尝试通过 Composer 在客户端的 Magento 2 上安装扩展,但我遇到了旧的 PHP 内存不足错误。我的客户端由 Bluehost 托管,不幸的是,这意味着我不能直接更改 php.ini 中的 memory_limit,因为它是只读的,而且他们的 cPanel MultiPHP INI 编辑器不会影响 SSH。我的客户一直与 Bluehost 联系,他们被告知 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 内存限制。如果出现这种情况,错误消息将类似于“已用尽 N 字节的允许内存大小”。失败的mmap调用表明您的物理内存不足。
升级主机或在另一台具有更多内存的机器上执行依赖项更新。这样做
将 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 关注
- 200 浏览
添加回答
举报
0/150
提交
取消