Измените на pm = static на образе докера php-fpm - PullRequest
0 голосов
/ 27 июня 2019

Я пытаюсь изменить это значение в конфигурации fpm PHP.

Здесь вы можете увидеть мой простой docker-compose файл:

version: '3.6'
services:

  wordpress:
    image: wordpress:${WORDPRESS_VERSION:-php7.3-fpm}
    container_name: ${WORDPRESS_CONTAINER:-wordpress}
    volumes:
      - ./php/pool.d:/usr/local/etc/php-fpm.d
    environment:
      - WORDPRESS_DB_NAME=${WORDPRESS_DB_NAME:-wordpress}
      - WORDPRESS_TABLE_PREFIX=${WORDPRESS_TABLE_PREFIX:-wp_}
      - WORDPRESS_DB_HOST=${WORDPRESS_DB_HOST:-mysql}
      - WORDPRESS_DB_USER=${WORDPRESS_DB_USER:-root}
      - WORDPRESS_DB_PASSWORD=${WORDPRESS_DB_PASSWORD:-password}
    depends_on:
      - mysql
    restart: always
...

Внутри ./php/pool.d/my-www.conf У меня есть только:

pm = static
pm.max_children = 10

И я получаю ошибку:

ERROR: [/usr/local/etc/php-fpm.d/my-www.conf:2] unknown entry 'pm'

Если я включу пространство имен пула www:

[www]
pm = static
pm.max_children = 10

И я получаю ошибку:

ALERT: [pool www] user has not been defined

Есть идеи?

1 Ответ

1 голос
/ 28 июня 2019

на самом деле, когда вы монтируете каталог внутри образа docker (как то, что вы сделали ./php/pool.d:/usr/local/etc/php-fpm.d)

version: '3.6'
services:

  wordpress:
    ...
    volumes:
      - ./php/pool.d:/usr/local/etc/php-fpm.d
    ...

ты заменил его.таким образом, у вас нет конфигурации пула, за исключением небольшой его части, которая выглядит примерно так

pm = static
pm.max_children = 10

, поэтому вы получаете ошибки.Чтобы решить эту проблему, я могу предложить два способа:

  • Вы можете передать полный файл конфигурации пула внутрь образа docker и изменить все, что вы хотите в новом файле конфигурации, затем изменить docker-составив файл из этого
version: '3.6'
services:

  wordpress:
    ...
    volumes:
      - ./php/pool.d:/usr/local/etc/php-fpm.d
    ...

в этот

version: '3.6'
services:

  wordpress:
    ...
    volumes:
      - ./php/pool.d/www.conf:/usr/local/etc/php-fpm.d/www.conf
    ...
  • , вы можете перезаписать часть конфигурации пула, передав новое значение конфигурации в качестве второго файла конфигурациив каталог пула внутри docker-образа.но вы должны заботиться об имени файла.например, обычно имя файла конфигурации пула по умолчанию - www.conf, поэтому, чтобы перезаписать его конфиги, необходимо создать файл с именем www2.conf для загрузки после файла www.conf (для получения дополнительной информации см. эту проблему: https://serverfault.com/a/806530/529531). также, ваш файл docker-compose будет выглядеть примерно так
version: '3.6'
services:

  wordpress:
    ...
    volumes:
      - ./php/pool.d/www2.conf:/usr/local/etc/php-fpm.d/www2.conf
    ...
...