php - 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
解决方案
推荐阅读
- amazon-dynamodb - 使用 OR 条件使用分区键和排序键查询 DynamoDB
- linux - 关于世界可写文件的风险
- azure - 使用提琴手捕获 Azure 块 blob 流量
- hyperledger-fabric - 无法启动业务网络
- ios - 尝试运行应用程序时设备重新启动
- centos - mount - 在 fstab 错误中找不到 /dev/sdc
- excel - VBA复制范围并粘贴到另一个工作表
- python - 使用在views.py中存在的方法中传递的变量检查signals.py中的条件 - django
- activiti - 将外部授权插入camunda
- java - 保存子对象和已保存父对象时出现 TransientObjectException