bitnami magento 2 Allowed memory size of 4294967296 bytes exhausted (tried to allocate 20480 bytes)

PHP Fatal error: Allowed memory size of 4294967296 bytes exhausted (tried to allocate 20480 bytes) in /opt/bitnami/apps/magento/htdocs/vendor/magento/module-catalog-rule/Model/Rule.php on line 358

PHP Fatal error: Allowed memory size of 4294967296 bytes exhausted (tried to allocate 20480 bytes) in /opt/bitnami/apps/magento/htdocs/vendor/composer/composer/src/Composer/Console/Application.php on line 78

解释是可用内存已耗尽,这关系到PHP的memory_limit的设置问题。

通常这里有两种方法解决

1、修改php.ini

memory_limit = 128

这种方法需要重启服务器,很显然,此方法对虚拟机有限制。
2、通过ini_set函数修改配置选项值

ini_set (‘memory_limit’, ‘128M’)
ini_set (‘memory_limit’, ‘128M’)

而在bitnami magento 2应用中,我们可以快速的修改php-fpm配置来提升php的内存限制。
修改方案如下:
定位到/opt/bitnami/apps/magento/conf/php-fpm/php-settings.conf

  1. php_flag[suhosin.session.cryptua]=off
  2. php_flag[session.auto_start]=off
  3. php_value[session.cookie_lifetime]=43200
  4. php_value[session.gc_maxlifetime]=43200
  5. php_value[max_execution_time]=18000
  6. php_value[memory_limit]=6G
  7. php_flag[engine]=off
  8. php_value[upload_max_filesize]=40M
  9. php_value[post_max_size]=40M
  10. php_value[max_input_vars]=8000

这里我将php_value[memory_limit]设为6G,重启php-fpm即可。

  1. sudo /opt/bitnami/ctlscript.sh restart php-fpm