如何在 docker 图片中覆盖 php.ini 中的 upload_max_filesize

How to override upload_max_filesize in php.ini in docker image

我有这个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 图像

中更改 upload_max_filesize 和 php.ini 中的 post_max_size

使用 UPLOAD_LIMIT 环境变量。 Documentation

UPLOAD_LIMIT - if set, will override the default value for apache and php-fpm (format as [0-9+](K,M,G) default value is 2048K, this will change upload_max_filesize and post_max_size values)

示例:

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