Estoy tratando de cambiar este valor en la configuración de FPM de PHP.

Aquí, puedes ver mi archivo simple 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
...

Dentro ./php/pool.d/my-www.conf Sólo tengo:

pm = static
pm.max_children = 10

Y me sale el error:

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

Si incluyo el espacio de nombres de la piscina www:

[www]
pm = static
pm.max_children = 10

Y me sale el error:

ALERT: [pool www] user has not been defined

¿Alguna idea?

2
rmartrenado 27 jun. 2019 a las 21:38

1 respuesta

La mejor respuesta

En realidad, cuando monta un directorio en el interior de la imagen Docker (como algo que hizo ./php/pool.d:/usr/local/etc/php-fpm.d)

version: '3.6'
services:

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

Lo reemplazó. Por lo tanto, no tiene configuración de la piscina, excepto una pequeña parte de ella, eso es algo así.

pm = static
pm.max_children = 10

Por lo tanto, obtienes los errores. Para resolver este problema, puedo proponer de dos maneras:

  • Puede pasar un archivo de configuración completo de la piscina en el interior de la imagen Docker y cambiar cualquier cosa que desee en el nuevo archivo de configuración, luego cambie el archivo Docker-Red.
version: '3.6'
services:

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

A este

version: '3.6'
services:

  wordpress:
    ...
    volumes:
      - ./php/pool.d/www.conf:/usr/local/etc/php-fpm.d/www.conf
    ...
  • Puede sobrescribir una parte de la configuración de la piscina al pasar su nuevo valor de configuración como un segundo archivo de configuración al directorio de la piscina al interior de la imagen DOCER. Pero, debe preocuparse por el nombre del archivo. Por ejemplo, por lo general, el nombre del archivo de configuración de grupo predeterminado es www.conf, por lo que, para sobrescribir sus configs, debe crear un archivo con nombre www2.conf para cargar después del archivo www.conf (para obtener más información, consulte este problema: https://serverfault.com/a/806530/529531). Además, su archivo de composición Docker será algo así.
version: '3.6'
services:

  wordpress:
    ...
    volumes:
      - ./php/pool.d/www2.conf:/usr/local/etc/php-fpm.d/www2.conf
    ...
4
m3hr24d 27 jun. 2019 a las 21:58