diff --git a/php-fpm/tasks/main.yml b/php-fpm/tasks/main.yml
index fdea86362ab6a289d60a01607bf0e3ef5d6a76b4..84ca46fef9be278f66f72923c935aaf11505317e 100644
--- a/php-fpm/tasks/main.yml
+++ b/php-fpm/tasks/main.yml
@@ -6,7 +6,6 @@
     name: "{{ item }}"
     state: present
   with_items:
-    - php
     - php-fpm
   when: debian_version == "stretch"
   notify:
@@ -40,3 +39,18 @@
   tags:
    - php-fpm
    - webservices
+
+- name: ensure we have all the pools we want
+  template:
+    src: pool.conf.j2
+    dest: "/etc/php/7.0/fpm/pool.d/{{item.name}}.conf"
+    owner: root
+    group: root
+    mode: 0644
+  when: debian_version == "stretch"
+  with_items: "{{fpm_pools|default([])}}"
+  notify:
+    - restart php-fpm
+  tags:
+   - php-fpm
+   - webservices
diff --git a/php-fpm/templates/pool.conf.j2 b/php-fpm/templates/pool.conf.j2
index 7602a4655fd0aa3b474ead3978049b3ada0b188f..d4feafc53bbb191778e53c1f07867e75513f4d3a 100644
--- a/php-fpm/templates/pool.conf.j2
+++ b/php-fpm/templates/pool.conf.j2
@@ -1,19 +1,22 @@
-[{{ fpm_pool }}]
-user = {{ fpm_user }}
-group = {{ fpm_group }}
+{% if item is not defined %}
+{% set item = {"name": fpm_pool, "user": fpm_user, "group": fpm_group, "socket_user": fpm_socket_user, "socket_group": fpm_socket_group, "params": fpm_params|default({})} %}
+{% endif %}
+[{{item.name}}]
+user = {{item.user}}
+group = {{item.group}}
 
-listen = /run/php/{{ fpm_pool }}-fpm.sock
+listen = /run/php/{{item.name}}-fpm.sock
 
-listen.owner = {{ fpm_socket_user }}
-listen.group = {{ fpm_socket_group }}
+listen.owner = {{item.socket_user}}
+listen.group = {{item.socket_group}}
 
 pm = ondemand
 pm.max_children = 10
 pm.process_idle_timeout = 10s
 pm.max_requests = 500
 
-{% if fpm_params is defined %}
-{% for key, value in fpm_params.items() %}
+{% if item.params is defined and item.params %}
+{% for key, value in item.params.items() %}
 php_value[{{key}}] = {{value}};
 {% endfor %}
 {% endif %}