首页 > 解决方案 > Magento2 - 无法分配内存

问题描述

我安装了 magento2(商店工作),但我在执行任何命令时遇到问题 - 我总是得到:

root@18c67198c93e:/var/www# php bin/magento cache:clear

mmap() failed: [12] Cannot allocate memory

mmap() failed: [12] Cannot allocate memory
PHP Fatal error:  Out of memory (allocated 64569344) (tried to allocate 5321472 bytes) in /var/www/vendor/colinmollenhour/cache-backend-file/File.php on line 202

当我通过管理面板删除缓存时,它可以工作..

我使用 docker / docker-compose 并设置 memory_limit = 2048M (cli/php.ini, fpm/php.ini)。

容器(应用程序)中的控制台:

root@18c67198c93e:/var/www# php -r "echo ini_get('memory_limit').\"\n\";"
4096M

码头工人-compose.yml:

version: '3.3'
services:
  app:
    image: nginx-php:latest
    restart: on-failure
    ports:
      - 65:80
    environment:
      - DOCKER_ROLE=app
    volumes:
      - .:/var/www
      - ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf
      - ./docker/php/cli/php.ini:/etc/php/7.4/cli/php.ini
      - ./docker/php/fpm/php.ini:/etc/php/7.4/fpm/php.ini
  db:
    image: mysql:8
    restart: on-failure
    volumes:
      - magento_data:/var/lib/mysql
    ports:
      - 66:3306
    environment:
      MYSQL_ROOT_PASSWORD: magento
      MYSQL_DATABASE: magento
      MYSQL_USER: magento
      MYSQL_PASSWORD: magento

  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.14.0
    environment:
      - xpack.security.enabled=false
      - "discovery.type=single-node"
    volumes:
      - elastic_data:/usr/share/elasticsearch/data
    ports:
      - 67:9200
volumes:
  magento_data:
  elastic_data:

设备:

macOS Big Sur, M1, SSD, 16 GB RAM

码头工人资源: 在此处输入图像描述

标签: phpdockermagentomagento2

解决方案


推荐阅读