---
- block:
    - name: Set php-fpm packages
      ansible.builtin.set_fact:
        php_fpm_packages:
          - php7.4-fpm
          # for WordPress
          - php7.4-mysql
          - php7.4-gd
          - php7.4-curl
          - php7.4-xml

    - name: Install php-fpm and deps
      ansible.builtin.apt: name={{ php_fpm_packages }} state=present update_cache=true

    # only copy php-fpm config for vhosts that need WordPress or PHP
    - name: Copy php-fpm pool config
      ansible.builtin.template: src=php7.4-pool.conf.j2 dest=/etc/php/7.4/fpm/pool.d/{{ item.domain_name }}.conf owner=root group=root mode=0644
      loop: "{{ nginx_vhosts }}"
      when: (item.has_wordpress is defined and item.has_wordpress) or (item.needs_php is defined and item.needs_php)
      notify: reload php7.4-fpm

    - name: Remove default www pool
      ansible.builtin.file: path=/etc/php/7.4/fpm/pool.d/www.conf state=absent
      notify: reload php7.4-fpm

    # re-configure php.ini
    - name: Update php.ini
      ansible.builtin.template: src=php7.4-php.ini.j2 dest=/etc/php/7.4/fpm/php.ini owner=root group=root mode=0644
      notify: reload php7.4-fpm

  tags: php-fpm
  when: install_php

# vim: set ts=2 sw=2: