【发布时间】:2019-11-27 03:20:21
【问题描述】:
我正在尝试通过 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 memory
mmap() failed: [12] Cannot allocate memory
Fatal error: Out of memory (allocated 809508864) (tried to allocate 4096
bytes) in phar:///opt/cpanel/composer/bin/composer/src/Composer
/DependencyResolver/RuleSetGenerator.php on line 126
有人对我可以做些什么来让事情正常工作有什么建议吗?
【问题讨论】:
-
是否启用了 user.ini 文件?然后你可以像
.htaccess一样创建一个新的.ini 并覆盖它。一般来说memory_limit是PHP_INI_ALL,这意味着你可以在任何地方设置它(.ini、ini_set和.htacess)。 -
@CodeSpirit,对不起,我不清楚。我尝试了所有这些,但是 Bluehost 的设置方式可以防止内存限制被覆盖,除非通过 cPanel 的 MultiPHP INI 编辑器。好消息是,Peter 解决了我的问题,但实际上并不是我想的那样!
标签: php magento composer-php