如何在Docker镜像中覆盖php.ini中的upload_max_filesize?

10

我有这个docker-compose.yml文件(主文件的一部分)

services:
my-site:
  build:
    context: .
    dockerfile: Dockerfile
  container_name: my-site
  environment:
    VIRTUAL_HOST: my-site.local
    PHP_INI_SCAN_DIR: "/usr/local/etc/php/custom.d:/usr/local/etc/php/conf.d"
    TZ: Europe/Paris
  ports:
    - "9090:80"
  volumes:
    - ./../myapp:/var/www/my-site
    - ./app/config/custom.php.ini:/usr/local/etc/php/custom.d
phpmyadmin:
   image: phpmyadmin/phpmyadmin
   container_name: phpmyadmin
   hostname: phpmyadmin.local
   ports :
      - "8080:80"
   environment:
      - PMA_HOST=mysql
      - PMA_USER=root
      - PMA_PASSWORD=password
   links:
      - mysql:mysql
   volumes:
      - ./app/config/php.ini:/usr/local/etc/php/php.ini

在webapp cli中:

输入图像描述

在phpmyadmin cli中:

输入图像描述

尽管是相同的文件,但它不能加载它,并且无法上传超过2MB的数据库。

输入图像描述

如何在docker镜像中更改php.ini中的upload_max_filesizepost_max_size值?
1个回答

36

请使用UPLOAD_LIMIT环境变量。 文档

UPLOAD_LIMIT - 如果设置,将覆盖apache和php-fpm的默认值(格式为[0-9+](K,M,G),默认值为2048K,这将更改upload_max_filesize和post_max_size的值)。

示例:

phpmyadmin:
  image: phpmyadmin/phpmyadmin
   container_name: phpmyadmin
   hostname: phpmyadmin.local
   ports:
     - "8080:80"
   environment:
     PMA_HOST: mysql
     PMA_USER: root
     PMA_PASSWORD: password
     UPLOAD_LIMIT: 64M

谢谢您,先生。我一直在尝试弄清楚 Docker 中 PHP 的 ENV 文档,而您已经帮了我大忙! - ZaxLofful
是的!太好了!非常感谢。 - MagisterMundus
这是正确的答案!谢谢 - Agostinho Neto

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接