# t Copyright 2019-2024 Chris Croome
#
# This file is part of the Webarchitects PHP Ansible role.
#
# The Webarchitects PHP Ansible role is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
#
# The Webarchitects PHP Ansible role is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along with the Webarchitects PHP Ansible role. If not, see <https://www.gnu.org/licenses/>.
---
php: false
php_check_legacy_variables: true
php_config:
  - name: PHP 8.3 configuration
    version: "8.3"
    state: present
    files:
      - name: PHP 8.3 JIT configuration
        path: /etc/php/8.3/mods-available/opcache.ini
        state: edited
        conf_absent:
          "opcache.jit": "off"
      - name: PHP 8.3 CLI configuration
        path: /etc/php/8.3/cli/php.ini
        state: present
        conf:
          apc:
            "apc.coredump_unmap": "0"
            "apc.enable_cli": "1"
            "apc.enabled": "1"
            "apc.entries_hint": "4096"
            "apc.gc_ttl": "3600"
            "apc.serializer": "php"
            "apc.shm_segments": "1"
            "apc.shm_size": "32M"
            "apc.slam_defense": "1"
            "apc.ttl": "0"
            "apc.use_request_time": "0"
          "CLI Server":
            "cli_server.color": "on"
          MySQLi:
            "mysqli.allow_local_infile": "Off"
            "mysqli.allow_persistent": "On"
            "mysqli.default_port": '3306'
            "mysqli.max_links": "-1"
            "mysqli.max_persistent": "-1"
            "mysqli.reconnect": "Off"
            "mysqli.default_socket": "/run/mysqld/mysqld.sock"
          opcache:
            "opcache.enable": "1"
            "opcache.enable_cli": "1"
            "opcache.interned_strings_buffer": "64"
            "opcache.jit": "On"
            "opcache.jit_buffer_size": "512M"
            "opcache.max_accelerated_files": "100000"
            "opcache.memory_consumption": "1024"
            "opcache.revalidate_freq": "2"
            "opcache.use_cwd": "1"
            "opcache.validate_permission": "1"
            "opcache.validate_root": "1"
            "opcache.validate_timestamps": "1"
          Pdo_mysql:
            "pdo_mysql.default_socket": "/run/mysqld/mysqld.sock"
          PHP:
            "max_input_vars": 100000
      - name: PHP 8.3 FPM configuration
        path: /etc/php/8.3/fpm/php.ini
        state: edited
        conf:
          apc:
            "apc.enabled": "1"
            "apc.shm_size": "32M"
          Date:
            "date.timezone": "Europe/London"
          MySQLi:
            "mysqli.allow_local_infile": "Off"
          opcache:
            "opcache.enable": "1"
            "opcache.enable_cli": "0"
            "opcache.interned_strings_buffer": "64"
            "opcache.jit": "On"
            "opcache.jit_buffer_size": "512M"
            "opcache.max_accelerated_files": "100000"
            "opcache.memory_consumption": "1024"
            "opcache.revalidate_freq": "2"
            "opcache.use_cwd": "1"
            "opcache.validate_permission": "1"
            "opcache.validate_root": "1"
            "opcache.validate_timestamps": "1"
          PHP:
            allow_url_include: "Off"
            default_socket_timeout: "600"
            disable_functions: "chgrp,chown,dl,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid"
            max_file_uploads: "60"
            max_execution_time: "600"
            max_input_nesting_level: "512"
            max_input_time: "600"
            max_input_vars: "100000"
            memory_limit: "512M"
            output_buffering: "4096"
            post_max_size: "512M"
            short_open_tag: "Off"
            upload_max_filesize: "512M"
          Session:
            "session.save_path": "${TMPDIR}"
      - name: PHP 8.3 FPM www pool configuration
        path: /etc/php/8.3/fpm/pool.d/www.conf
        state: absent
      - name: PHP 8.3 FPM www83 pool configuration
        path: /etc/php/8.3/fpm/pool.d/www83.conf
        state: present
        conf:
          www83:
            "user": www-data
            "group": www-data
            "listen": /run/php/php8.3-fpm.sock
            "listen.owner": www-data
            "listen.group": www-data
            "pm": ondemand
            "pm.max_children": "4"
            "pm.process_idle_timeout": 10s
            "pm.status_path": /fpm83-status
  - name: PHP 8.2 configuration
    version: "8.2"
    state: present
    files:
      - name: PHP 8.2 JIT configuration
        path: /etc/php/8.1/mods-available/opcache.ini
        state: edited
        conf_absent:
          "opcache.jit": "off"
      - name: PHP 8.2 CLI configuration
        path: /etc/php/8.2/cli/php.ini
        state: present
        conf:
          apc:
            "apc.coredump_unmap": "0"
            "apc.enable_cli": "1"
            "apc.enabled": "1"
            "apc.entries_hint": "4096"
            "apc.gc_ttl": "3600"
            "apc.serializer": "php"
            "apc.shm_segments": "1"
            "apc.shm_size": "32M"
            "apc.slam_defense": "1"
            "apc.ttl": "0"
            "apc.use_request_time": "0"
          "CLI Server":
            "cli_server.color": "on"
          MySQLi:
            "mysqli.allow_local_infile": "Off"
            "mysqli.allow_persistent": "On"
            "mysqli.default_port": '3306'
            "mysqli.max_links": "-1"
            "mysqli.max_persistent": "-1"
            "mysqli.reconnect": "Off"
            "mysqli.default_socket": "/run/mysqld/mysqld.sock"
          opcache:
            "opcache.enable": "1"
            "opcache.enable_cli": "1"
            "opcache.interned_strings_buffer": "64"
            "opcache.jit": "On"
            "opcache.jit_buffer_size": "512M"
            "opcache.max_accelerated_files": "100000"
            "opcache.memory_consumption": "1024"
            "opcache.revalidate_freq": "2"
            "opcache.use_cwd": "1"
            "opcache.validate_permission": "1"
            "opcache.validate_root": "1"
            "opcache.validate_timestamps": "1"
          Pdo_mysql:
            "pdo_mysql.default_socket": "/run/mysqld/mysqld.sock"
          PHP:
            "max_input_vars": 100000
      - name: PHP 8.2 FPM configuration
        path: /etc/php/8.2/fpm/php.ini
        state: edited
        conf:
          apc:
            "apc.enabled": "1"
            "apc.shm_size": "32M"
          Date:
            "date.timezone": "Europe/London"
          MySQLi:
            "mysqli.allow_local_infile": "Off"
          opcache:
            "opcache.enable": "1"
            "opcache.enable_cli": "0"
            "opcache.interned_strings_buffer": "64"
            "opcache.jit": "On"
            "opcache.jit_buffer_size": "512M"
            "opcache.max_accelerated_files": "100000"
            "opcache.memory_consumption": "1024"
            "opcache.revalidate_freq": "2"
            "opcache.use_cwd": "1"
            "opcache.validate_permission": "1"
            "opcache.validate_root": "1"
            "opcache.validate_timestamps": "1"
          PHP:
            allow_url_include: "Off"
            default_socket_timeout: "600"
            disable_functions: "chgrp,chown,dl,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid"
            max_file_uploads: "60"
            max_execution_time: "600"
            max_input_nesting_level: "512"
            max_input_time: "600"
            max_input_vars: "100000"
            memory_limit: "512M"
            output_buffering: "4096"
            post_max_size: "512M"
            short_open_tag: "Off"
            upload_max_filesize: "512M"
          Session:
            "session.save_path": "${TMPDIR}"
      - name: PHP 8.2 FPM www pool configuration
        path: /etc/php/8.2/fpm/pool.d/www.conf
        state: absent
      - name: PHP 8.2 FPM www82 pool configuration
        path: /etc/php/8.2/fpm/pool.d/www82.conf
        state: present
        conf:
          www82:
            "user": www-data
            "group": www-data
            "listen": /run/php/php8.2-fpm.sock
            "listen.owner": www-data
            "listen.group": www-data
            "pm": ondemand
            "pm.max_children": "4"
            "pm.process_idle_timeout": 10s
            "pm.status_path": /fpm82-status
  - name: PHP 8.1 configuration
    version: "8.1"
    state: present
    files:
      - name: PHP 8.1 JIT configuration
        path: /etc/php/8.1/mods-available/opcache.ini
        state: edited
        conf_absent:
          "opcache.jit": "off"
      - name: PHP 8.1 CLI configuration
        path: /etc/php/8.1/cli/php.ini
        state: present
        conf:
          apc:
            "apc.coredump_unmap": "0"
            "apc.enable_cli": "1"
            "apc.enabled": "1"
            "apc.entries_hint": "4096"
            "apc.gc_ttl": "3600"
            "apc.serializer": "php"
            "apc.shm_segments": "1"
            "apc.shm_size": "32M"
            "apc.slam_defense": "1"
            "apc.ttl": "0"
            "apc.use_request_time": "0"
          "CLI Server":
            "cli_server.color": "on"
          MySQLi:
            "mysqli.allow_local_infile": "Off"
            "mysqli.allow_persistent": "On"
            "mysqli.default_port": '3306'
            "mysqli.max_links": "-1"
            "mysqli.max_persistent": "-1"
            "mysqli.reconnect": "Off"
            "mysqli.default_socket": "/run/mysqld/mysqld.sock"
          opcache:
            "opcache.enable": "1"
            "opcache.enable_cli": "1"
            "opcache.interned_strings_buffer": "64"
            "opcache.jit": "On"
            "opcache.jit_buffer_size": "512M"
            "opcache.max_accelerated_files": "100000"
            "opcache.memory_consumption": "1024"
            "opcache.revalidate_freq": "2"
            "opcache.use_cwd": "1"
            "opcache.validate_permission": "1"
            "opcache.validate_root": "1"
            "opcache.validate_timestamps": "1"
          Pdo_mysql:
            "pdo_mysql.default_socket": "/run/mysqld/mysqld.sock"
          PHP:
            "max_input_vars": 100000
      - name: PHP 8.1 FPM configuration
        path: /etc/php/8.1/fpm/php.ini
        state: edited
        conf:
          apc:
            "apc.enabled": "1"
            "apc.shm_size": "32M"
          Date:
            "date.timezone": "Europe/London"
          MySQLi:
            "mysqli.allow_local_infile": "Off"
          opcache:
            "opcache.enable": "1"
            "opcache.enable_cli": "0"
            "opcache.interned_strings_buffer": "64"
            "opcache.jit": "On"
            "opcache.jit_buffer_size": "512M"
            "opcache.max_accelerated_files": "100000"
            "opcache.memory_consumption": "1024"
            "opcache.revalidate_freq": "2"
            "opcache.use_cwd": "1"
            "opcache.validate_permission": "1"
            "opcache.validate_root": "1"
            "opcache.validate_timestamps": "1"
          PHP:
            allow_url_include: "Off"
            default_socket_timeout: "600"
            disable_functions: "chgrp,chown,dl,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid"
            max_file_uploads: "60"
            max_execution_time: "600"
            max_input_nesting_level: "512"
            max_input_time: "600"
            max_input_vars: "100000"
            memory_limit: "512M"
            output_buffering: "4096"
            post_max_size: "512M"
            short_open_tag: "Off"
            upload_max_filesize: "512M"
          Session:
            "session.save_path": "${TMPDIR}"
      - name: PHP 8.1 FPM www pool configuration
        path: /etc/php/8.1/fpm/pool.d/www.conf
        state: absent
      - name: PHP 8.1 FPM www81 pool configuration
        path: /etc/php/8.1/fpm/pool.d/www81.conf
        state: present
        conf:
          www81:
            "user": www-data
            "group": www-data
            "listen": /run/php/php8.1-fpm.sock
            "listen.owner": www-data
            "listen.group": www-data
            "pm": ondemand
            "pm.max_children": "4"
            "pm.process_idle_timeout": 10s
            "pm.status_path": /fpm81-status
  - name: PHP 8.0 configuration
    version: "8.0"
    state: present
    files:
      - name: PHP 8.0 JIT configuration
        path: /etc/php/8.0/mods-available/opcache.ini
        state: edited
        conf_absent:
          "opcache.jit": "off"
      - name: PHP 8.0 CLI configuration
        path: /etc/php/8.0/cli/php.ini
        state: present
        conf:
          apc:
            "apc.coredump_unmap": "0"
            "apc.enable_cli": "1"
            "apc.enabled": "1"
            "apc.entries_hint": "4096"
            "apc.gc_ttl": "3600"
            "apc.serializer": "php"
            "apc.shm_segments": "1"
            "apc.shm_size": "32M"
            "apc.slam_defense": "1"
            "apc.ttl": "0"
            "apc.use_request_time": "0"
          "CLI Server":
            "cli_server.color": "on"
          MySQLi:
            "mysqli.allow_local_infile": "Off"
            "mysqli.allow_persistent": "On"
            "mysqli.default_port": '3306'
            "mysqli.max_links": "-1"
            "mysqli.max_persistent": "-1"
            "mysqli.reconnect": "Off"
            "mysqli.default_socket": "/run/mysqld/mysqld.sock"
          opcache:
            "opcache.enable": "1"
            "opcache.enable_cli": "1"
            "opcache.interned_strings_buffer": "64"
            "opcache.jit": "On"
            "opcache.jit_buffer_size": "512M"
            "opcache.max_accelerated_files": "100000"
            "opcache.memory_consumption": "1024"
            "opcache.revalidate_freq": "2"
            "opcache.use_cwd": "1"
            "opcache.validate_permission": "1"
            "opcache.validate_root": "1"
            "opcache.validate_timestamps": "1"
          Pdo_mysql:
            "pdo_mysql.default_socket": "/run/mysqld/mysqld.sock"
          PHP:
            "max_input_vars": 100000
      - name: PHP 8.0 FPM configuration
        path: /etc/php/8.0/fpm/php.ini
        state: edited
        conf:
          apc:
            "apc.enabled": "1"
            "apc.shm_size": "32M"
          Date:
            "date.timezone": "Europe/London"
          MySQLi:
            "mysqli.allow_local_infile": "Off"
          opcache:
            "opcache.enable": "1"
            "opcache.enable_cli": "0"
            "opcache.interned_strings_buffer": "64"
            "opcache.jit": "On"
            "opcache.jit_buffer_size": "512M"
            "opcache.max_accelerated_files": "100000"
            "opcache.memory_consumption": "1024"
            "opcache.revalidate_freq": "2"
            "opcache.use_cwd": "1"
            "opcache.validate_permission": "1"
            "opcache.validate_root": "1"
            "opcache.validate_timestamps": "1"
          PHP:
            allow_url_include: "Off"
            default_socket_timeout: "600"
            disable_functions: "chgrp,chown,dl,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid"
            max_file_uploads: "60"
            max_execution_time: "600"
            max_input_nesting_level: "512"
            max_input_time: "600"
            max_input_vars: "100000"
            memory_limit: "512M"
            output_buffering: "4096"
            post_max_size: "512M"
            short_open_tag: "Off"
            upload_max_filesize: "512M"
          Session:
            "session.save_path": "${TMPDIR}"
      - name: PHP 8.0 FPM www pool configuration
        path: /etc/php/8.0/fpm/pool.d/www.conf
        state: absent
      - name: PHP 8.0 FPM www81 pool configuration
        path: /etc/php/8.0/fpm/pool.d/www80.conf
        state: present
        conf:
          www80:
            "user": www-data
            "group": www-data
            "listen": /run/php/php8.0-fpm.sock
            "listen.owner": www-data
            "listen.group": www-data
            "pm": ondemand
            "pm.max_children": "4"
            "pm.process_idle_timeout": 10s
            "pm.status_path": /fpm80-status
  - name: PHP 7.4 configuration
    version: "7.4"
    state: present
    files:
      - name: PHP 7.4 CLI configuration
        path: /etc/php/7.4/cli/php.ini
        state: present
        conf:
          apc:
            "apc.coredump_unmap": "0"
            "apc.enable_cli": "1"
            "apc.enabled": "1"
            "apc.entries_hint": "4096"
            "apc.gc_ttl": "3600"
            "apc.serializer": "php"
            "apc.shm_segments": "1"
            "apc.shm_size": "32M"
            "apc.slam_defense": "1"
            "apc.ttl": "0"
            "apc.use_request_time": "0"
          "CLI Server":
            "cli_server.color": "on"
          MySQLi:
            "mysqli.allow_local_infile": "Off"
            "mysqli.allow_persistent": "On"
            "mysqli.default_port": '3306'
            "mysqli.max_links": "-1"
            "mysqli.max_persistent": "-1"
            "mysqli.reconnect": "Off"
            "mysqli.default_socket": "/run/mysqld/mysqld.sock"
          Pdo_mysql:
            "pdo_mysql.default_socket": "/run/mysqld/mysqld.sock"
          PHP:
            "max_input_vars": 100000
      - name: PHP 7.4 FPM configuration
        path: /etc/php/7.4/fpm/php.ini
        state: edited
        conf:
          apc:
            "apc.enabled": "1"
            "apc.shm_size": "32M"
          Date:
            "date.timezone": "Europe/London"
          MySQLi:
            "mysqli.allow_local_infile": "Off"
          opcache:
            "opcache.enable": "1"
            "opcache.interned_strings_buffer": "64"
            "opcache.max_accelerated_files": "100000"
            "opcache.memory_consumption": "1024"
            "opcache.revalidate_freq": "2"
            "opcache.use_cwd": "1"
            "opcache.validate_permission": "1"
            "opcache.validate_root": "1"
            "opcache.validate_timestamps": "1"
          PHP:
            allow_url_include: "Off"
            default_socket_timeout: "600"
            disable_functions: "chgrp,chown,dl,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid"
            max_file_uploads: "60"
            max_execution_time: "600"
            max_input_nesting_level: "512"
            max_input_time: "600"
            max_input_vars: "100000"
            memory_limit: "512M"
            output_buffering: "4096"
            post_max_size: "512M"
            short_open_tag: "Off"
            upload_max_filesize: "512M"
          Session:
            "session.save_path": "${TMPDIR}"
      - name: PHP 7.4 FPM www pool configuration
        path: /etc/php/7.4/fpm/pool.d/www.conf
        state: absent
      - name: PHP 7.4 FPM www74 pool configuration
        path: /etc/php/7.4/fpm/pool.d/www74.conf
        state: present
        conf:
          www74:
            "user": www-data
            "group": www-data
            "listen": /run/php/php7.4-fpm.sock
            "listen.owner": www-data
            "listen.group": www-data
            "pm": ondemand
            "pm.max_children": "4"
            "pm.process_idle_timeout": 10s
            "pm.status_path": /fpm74-status
  # - name: PHP 7.3 configuration
  #   version: "7.3"
  #   state: present
  #   files:
  #     - name: PHP 7.3 CLI configuration
  #       path: /etc/php/7.3/cli/php.ini
  #       state: present
  #       conf:
  #         apc:
  #           "apc.coredump_unmap": "0"
  #           "apc.enable_cli": "1"
  #           "apc.enabled": "1"
  #           "apc.entries_hint": "4096"
  #           "apc.gc_ttl": "3600"
  #           "apc.serializer": "php"
  #           "apc.shm_segments": "1"
  #           "apc.shm_size": "32M"
  #           "apc.slam_defense": "1"
  #           "apc.ttl": "0"
  #           "apc.use_request_time": "0"
  #         "CLI Server":
  #           "cli_server.color": "on"
  #         MySQLi:
  #           "mysqli.allow_local_infile": "Off"
  #           "mysqli.allow_persistent": "On"
  #           "mysqli.default_port": '3306'
  #           "mysqli.max_links": "-1"
  #           "mysqli.max_persistent": "-1"
  #           "mysqli.reconnect": "Off"
  #           "mysqli.default_socket": "/run/mysqld/mysqld.sock"
  #         Pdo_mysql:
  #           "pdo_mysql.default_socket": "/run/mysqld/mysqld.sock"
  #         PHP:
  #           "max_input_vars": 100000
  #     - name: PHP 7.3 FPM configuration
  #       path: /etc/php/7.3/fpm/php.ini
  #       state: edited
  #       conf:
  #         apc:
  #           "apc.enabled": "1"
  #           "apc.shm_size": "32M"
  #         Date:
  #           "date.timezone": "Europe/London"
  #         MySQLi:
  #           "mysqli.allow_local_infile": "Off"
  #         opcache:
  #           "opcache.enable": "1"
  #           "opcache.interned_strings_buffer": "64"
  #           "opcache.max_accelerated_files": "100000"
  #           "opcache.memory_consumption": "1024"
  #           "opcache.revalidate_freq": "2"
  #           "opcache.use_cwd": "1"
  #           "opcache.validate_permission": "1"
  #           "opcache.validate_root": "1"
  #           "opcache.validate_timestamps": "1"
  #         PHP:
  #           allow_url_include: "Off"
  #           default_socket_timeout: "600"
  #           disable_functions: "chgrp,chown,dl,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid"
  #           max_file_uploads: "60"
  #           max_execution_time: "600"
  #           max_input_nesting_level: "512"
  #           max_input_time: "600"
  #           max_input_vars: "100000"
  #           memory_limit: "512M"
  #           output_buffering: "4096"
  #           post_max_size: "512M"
  #           short_open_tag: "Off"
  #           upload_max_filesize: "512M"
  #         Session:
  #           "session.save_path": "${TMPDIR}"
  #     - name: PHP 7.3 FPM www pool configuration
  #       path: /etc/php/7.3/fpm/pool.d/www.conf
  #       state: absent
  #     - name: PHP 7.3 FPM www73 pool configuration
  #       path: /etc/php/7.3/fpm/pool.d/www73.conf
  #       state: present
  #       conf:
  #         www73:
  #           "user": www-data
  #           "group": www-data
  #           "listen": /run/php/php7.3-fpm.sock
  #           "listen.owner": www-data
  #           "listen.group": www-data
  #           "pm": ondemand
  #           "pm.max_children": "4"
  #           "pm.process_idle_timeout": 10s
  #           "pm.status_path": /fpm73-status
  # - name: PHP 7.0 configuration
  #   version: "7.0"
  #   state: present
  #   files:
  #     - name: PHP 7.0 FPM configuration
  #       path: /etc/php/7.0/fpm/php.ini
  #       state: edited
  #       conf:
  #         PHP:
  #           max_input_time: "600"
  #           memory_limit: "512M"
php_fpm_pool_check_fail: true
php_modules:
  - name: PHP 8.3 modules
    version: "8.3"
    state: present
    sapis:
      - name: PHP 8.3 CLI modules
        sapi: cli
        mods_enabled:
          - apcu
          - bcmath
          - bz2
          - calendar
          - ctype
          - curl
          - dom
          - exif
          - ffi
          - fileinfo
          - ftp
          - gd
          - gettext
          - gmp
          - iconv
          - imagick
          - imap
          - intl
          - ldap
          - mbstring
          - mysqli
          - mysqlnd
          - opcache
          - pdo
          - pdo_mysql
          - pdo_sqlite
          - phar
          - posix
          - readline
          - shmop
          - simplexml
          - soap
          - sockets
          - sqlite3
          - sysvmsg
          - sysvsem
          - sysvshm
          - tokenizer
          - uploadprogress
          - xml
          - xmlreader
          - xmlrpc
          - xmlwriter
          - xsl
          - zip
  - name: PHP 8.2 modules
    version: "8.2"
    state: present
    sapis:
      - name: PHP 8.2 CLI modules
        sapi: cli
        mods_enabled:
          - apcu
          - bcmath
          - bz2
          - calendar
          - ctype
          - curl
          - dom
          - exif
          - ffi
          - fileinfo
          - ftp
          - gd
          - gettext
          - gmp
          - iconv
          - imagick
          - imap
          - intl
          - ldap
          - mbstring
          - mysqli
          - mysqlnd
          - opcache
          - pdo
          - pdo_mysql
          - pdo_sqlite
          - phar
          - posix
          - readline
          - shmop
          - simplexml
          - soap
          - sockets
          - sqlite3
          - sysvmsg
          - sysvsem
          - sysvshm
          - tokenizer
          - uploadprogress
          - xml
          - xmlreader
          - xmlrpc
          - xmlwriter
          - xsl
          - zip
  - name: PHP 8.1 modules
    version: "8.1"
    state: present
    sapis:
      - name: PHP 8.1 CLI modules
        sapi: cli
        mods_enabled:
          - apcu
          - bcmath
          - bz2
          - calendar
          - ctype
          - curl
          - dom
          - exif
          - ffi
          - fileinfo
          - ftp
          - gd
          - gettext
          - gmp
          - iconv
          - imagick
          - imap
          - intl
          - ldap
          - mbstring
          - mysqli
          - mysqlnd
          - opcache
          - pdo
          - pdo_mysql
          - pdo_sqlite
          - phar
          - posix
          - readline
          - shmop
          - simplexml
          - soap
          - sockets
          - sqlite3
          - sysvmsg
          - sysvsem
          - sysvshm
          - tokenizer
          - uploadprogress
          - xml
          - xmlreader
          - xmlrpc
          - xmlwriter
          - xsl
          - zip
  - name: PHP 8.0 modules
    version: "8.0"
    state: present
    sapis:
      - name: PHP 8.0 CLI modules
        sapi: cli
        mods_enabled:
          - apcu
          - bcmath
          - bz2
          - calendar
          - ctype
          - curl
          - dom
          - exif
          - ffi
          - fileinfo
          - ftp
          - gd
          - gettext
          - gmp
          - iconv
          - imagick
          - imap
          - intl
          - ldap
          - mbstring
          - mysqli
          - mysqlnd
          - opcache
          - pdo
          - pdo_mysql
          - pdo_sqlite
          - phar
          - posix
          - readline
          - shmop
          - simplexml
          - soap
          - sockets
          - sqlite3
          - sysvmsg
          - sysvsem
          - sysvshm
          - tokenizer
          - uploadprogress
          - xml
          - xmlreader
          - xmlrpc
          - xmlwriter
          - xsl
          - zip
  - name: PHP 7.4 modules
    version: "7.4"
    state: present
    sapis:
      - name: PHP 7.4 CLI modules
        sapi: cli
        mods_enabled:
          - apcu
          - bcmath
          - bz2
          - calendar
          - ctype
          - curl
          - dom
          - exif
          - ffi
          - fileinfo
          - ftp
          - gd
          - gettext
          - gmp
          - iconv
          - imagick
          - imap
          - intl
          - ldap
          - mbstring
          - mysqli
          - mysqlnd
          - opcache
          - pdo
          - pdo_mysql
          - pdo_sqlite
          - phar
          - posix
          - readline
          - shmop
          - simplexml
          - soap
          - sockets
          - sqlite3
          - sysvmsg
          - sysvsem
          - sysvshm
          - tokenizer
          - uploadprogress
          - xml
          - xmlreader
          - xmlrpc
          - xmlwriter
          - xsl
          - zip
  # - name: PHP 7.3 modules
  #   version: "7.3"
  #   state: present
  #   sapis:
  #     - name: PHP 7.3 CLI modules
  #       sapi: cli
  #       mods_enabled:
  #         - apcu
  #         - bcmath
  #         - bz2
  #         - calendar
  #         - ctype
  #         - curl
  #         - dom
  #         - exif
  #         - fileinfo
  #         - ftp
  #         - gd
  #         - gettext
  #         - gmp
  #         - iconv
  #         - imagick
  #         - imap
  #         - intl
  #         - ldap
  #         - mbstring
  #         - mysqli
  #         - mysqlnd
  #         - opcache
  #         - pdo
  #         - pdo_mysql
  #         - pdo_sqlite
  #         - phar
  #         - posix
  #         - readline
  #         - shmop
  #         - simplexml
  #         - soap
  #         - sockets
  #         - sqlite3
  #         - sysvmsg
  #         - sysvsem
  #         - sysvshm
  #         - tokenizer
  #         - uploadprogress
  #         - xml
  #         - xmlreader
  #         - xmlrpc
  #         - xmlwriter
  #         - xsl
  #         - zip
php_sury: true
php_versions:
  - name: PHP 8.3 packages
    version: "8.3"
    state: present
    pkg_absent:
      - libapache2-mod-php8.3
      - php8.3-phpdbg
    pkg_present:
      - php8.3-apcu
      - php8.3-bcmath
      - php8.3-bz2
      - php8.3-cli
      - php8.3-common
      - php8.3-curl
      - php8.3-gd
      - php8.3-gmp
      - php8.3-fpm
      - php8.3-imagick
      - php8.3-imap
      - php8.3-intl
      - php8.3-ldap
      - php8.3-mbstring
      - php8.3-mysql
      - php8.3-opcache
      - php8.3-readline
      # - php8.3-redis
      - php8.3-sqlite3
      - php8.3-soap
      - php8.3-uploadprogress
      - php8.3-xml
      - php8.3-xmlrpc
      - php8.3-xsl
      - php8.3-zip
      - php-pear
  - name: PHP 8.2 packages
    version: "8.2"
    state: present
    pkg_absent:
      - libapache2-mod-php8.2
      - php8.2-phpdbg
    pkg_present:
      - php8.2-apcu
      - php8.2-bcmath
      - php8.2-bz2
      - php8.2-cli
      - php8.2-common
      - php8.2-curl
      - php8.2-gd
      - php8.2-gmp
      - php8.2-fpm
      - php8.2-imagick
      - php8.2-imap
      - php8.2-intl
      - php8.2-ldap
      - php8.2-mbstring
      - php8.2-mysql
      - php8.2-opcache
      - php8.2-readline
      # - php8.2-redis
      - php8.2-sqlite3
      - php8.2-soap
      - php8.2-uploadprogress
      - php8.2-xml
      - php8.2-xmlrpc
      - php8.2-xsl
      - php8.2-zip
      - php-pear
  - name: PHP 8.1 packages
    version: "8.1"
    state: present
    pkg_absent:
      - libapache2-mod-php8.1
      - php8.1-phpdbg
    pkg_present:
      - php8.1-apcu
      - php8.1-bcmath
      - php8.1-bz2
      - php8.1-cli
      - php8.1-common
      - php8.1-curl
      - php8.1-gd
      - php8.1-gmp
      - php8.1-fpm
      - php8.1-imagick
      - php8.1-imap
      - php8.1-intl
      - php8.1-ldap
      - php8.1-mbstring
      - php8.1-mysql
      - php8.1-opcache
      # - php8.1-redis
      - php8.1-readline
      - php8.1-sqlite3
      - php8.1-soap
      - php8.1-uploadprogress
      - php8.1-xml
      - php8.1-xmlrpc
      - php8.1-xsl
      - php8.1-zip
      - php-pear
  - name: PHP 8.0 packages
    version: "8.0"
    state: present
    pkg_absent:
      - libapache2-mod-php8.0
      - php8.0-phpdbg
    pkg_present:
      - php8.0-apcu
      - php8.0-bcmath
      - php8.0-bz2
      - php8.0-cli
      - php8.0-common
      - php8.0-curl
      - php8.0-gd
      - php8.0-gmp
      - php8.0-fpm
      - php8.0-imagick
      - php8.0-imap
      - php8.0-intl
      - php8.0-ldap
      - php8.0-mbstring
      - php8.0-mysql
      - php8.0-opcache
      - php8.0-readline
      # - php8.0-redis
      - php8.0-sqlite3
      - php8.0-soap
      - php8.0-uploadprogress
      - php8.0-xml
      - php8.0-xmlrpc
      - php8.0-xsl
      - php8.0-zip
      - php-pear
  - name: PHP 7.4 packages
    version: "7.4"
    state: present
    pkg_absent:
      - libapache2-mod-php7.4
      - php7.4-phpdbg
    pkg_present:
      - php7.4-apcu
      - php7.4-bcmath
      - php7.4-bz2
      - php7.4-cli
      - php7.4-common
      - php7.4-curl
      - php7.4-gd
      - php7.4-gmp
      - php7.4-geoip
      - php7.4-fpm
      - php7.4-imagick
      - php7.4-imap
      - php7.4-intl
      - php7.4-json
      - php7.4-ldap
      - php7.4-mbstring
      - php7.4-mysql
      - php7.4-opcache
      # - php7.4-redis
      - php7.4-sqlite3
      - php7.4-soap
      - php7.4-readline
      - php7.4-uploadprogress
      - php7.4-xml
      - php7.4-xmlrpc
      - php7.4-xsl
      - php7.4-zip
      - php-pear
  # - name: PHP 7.3 packages
  #   version: "7.3"
  #   state: present
  #   pkg_present:
  #     - php7.3-apcu
  #     - php7.3-bcmath
  #     - php7.3-bz2
  #     - php7.3-cli
  #     - php7.3-common
  #     - php7.3-curl
  #     - php7.3-gd
  #     - php7.3-gmp
  #     - php7.3-geoip
  #     - php7.3-fpm
  #     - php7.3-imagick
  #     - php7.3-imap
  #     - php7.3-intl
  #     - php7.3-json
  #     - php7.3-ldap
  #     - php7.3-mbstring
  #     - php7.3-mysql
  #     - php7.3-opcache
  #     # - php7.3-redis
  #     - php7.3-sqlite3
  #     - php7.3-soap
  #     - php7.3-readline
  #     - php7.3-uploadprogress
  #     - php7.3-xml
  #     - php7.3-xmlrpc
  #     - php7.3-xsl
  #     - php7.3-zip
  # - name: PHP 7.0 packages
  #   version: "7.0"
  #   state: present
  #   pkg_present:
  #     - php7.0
  #     - php7.0-bcmath
  #     - php7.0-bz2
  #     - php7.0-cli
  #     - php7.0-common
  #     - php7.0-curl
  #     - php7.0-gd
  #     - php7.0-imap
  #     - php7.0-intl
  #     - php7.0-json
  #     - php7.0-mbstring
  #     - php7.0-mcrypt
  #     - php7.0-mysql
  #     - php7.0-opcache
  #     # - php7.0-redis
  #     - php7.0-readline
  #     - php7.0-sqlite3
  #     - php7.0-xml
  #     - php7.0-xmlrpc
  #     - php7.0-zip
php_verify: true
...