lukasic.php

Rol de Ansible: Multi PHP

Rol de Ansible que proporciona múltiples versiones de PHP en Debian.

Registro de Cambios

1.5.1

  • Arreglar la exclusión del módulo JSON para PHP 8.0+

1.5.0

  • Soporte para PHP 8.3

1.4.0

  • Soporte para PHP 8.2

1.3.1

  • Eliminar el módulo json para PHP 7.4+

1.3.0

  • Añadir variable php_remove_unused_modules
    • Predeterminado -> false
    • Si se establece en true, elimina módulos de PHP no especificados en la variable php
  • Añadir variable php_remove_unused_versions
    • Predeterminado -> false
    • Si se establece en true, elimina versiones de PHP no especificadas en la variable php
  • Arreglar: reemplazar caracteres <0xa0>

1.2.0

  • Soporte para PHP 8.1

1.1.2

  • Arreglar php_default_version
  • Arreglar extensiones redis e imagick

1.1.1

  • Actualizar README
  • Arreglar errores de Ansible Lint

1.1.0

  • Soporte para instalación en Ubuntu, probado en Focal

1.0.0

  • Soporte para instalación de diferentes versiones de PHP en Debian Buster

Instalación

Usando ansible-galaxy:

$ ansible-galaxy install lukasic.php

Usando requirements.yml:

- src: lukasic.php

Requisitos

La función requiere el repositorio APT deb.sury.org, proporcionado por Ondrej Sury.

La función ha sido probada solo en Debian Buster y Ubuntu Focal. Otras versiones de distribución también deberían funcionar, si tienen paquetes en el repositorio.

Variables de la Función

Versión predeterminada de PHP:

php_default_version: "7.3"

Lista de módulos de PHP que se instalarán en todas las versiones:

php_default_modules:
 - bcmath
 - bz2
 - curl
 - gd
 - readline
 - json
 - mysql
 - soap
 - opcache
 - xml
 - xmlrpc
 - zip

Puede ser especializada por:

php56_default_modules: "{{ php_default_modules }}"
php70_default_modules: "{{ php_default_modules }}"
php71_default_modules: "{{ php_default_modules }}"
php72_default_modules: "{{ php_default_modules }}"
php73_default_modules: "{{ php_default_modules }}"
php74_default_modules: "{{ php_default_modules }}"
php80_default_modules: "{{ php_default_modules }}"
php81_default_modules: "{{ php_default_modules }}"

Una variable especial:

php: []

Esta variable controla las versiones de PHP instaladas, los módulos y se usa para configurar los ajustes de PHP. Vea ejemplos a continuación.

Dependencias

Ninguna.

Ejemplo de Playbook

Ejemplo 1: Solo instalar PHP 5.6 y 7.3

- hosts: php
  roles:
     - lukasic.php
  vars:
    php:
      - version: php56
      - version: php73

Ejemplo 2: Instalar PHP 5.6, 7.3, 8.0 con módulos adicionales y configurar los ajustes globales de CLI/FPM.

- hosts: php
  roles:
     - lukasic.php
  vars:
    # variable local, ver abajo
    common_fpm_ini:
     - { "section": "PHP",     "key": "max_execution_time",             "value": "360"  }
     - { "section": "PHP",     "key": "post_max_size",                  "value": "64MB" }
     - { "section": "PHP",     "key": "upload_max_filesize",            "value": "64MB" }
     - { "section": "opcache", "key": "opcache.enable",                 "value": "1"    }
     - { "section": "opcache", "key": "opcache.memory_consumption",     "value": "512"  }
     - { "section": "opcache", "key": "opcache.max_accelerated_files",  "value": "500"  }
    php:
     - version: php56
       fpm_ini: "{{ common_fpm_ini }}"
       cli_ini:
        - section: "PHP"
          key: "memory_limit"
          value: "2048M"
     - version: php73
       modules_extra: ['pgsql', 'gd']
       fpm_ini: "{{ common_fpm_ini }}"
     - version: php80
       modules_extra: ['pgsql', 'gd']
       fpm_ini: "{{ common_fpm_ini }}"

Licencia

WTFPL

Información del Autor

La función fue creada en 2020 por Lukáš Kasič.

Acerca del proyecto

Debian/Ubuntu multi-php role

Instalar
ansible-galaxy install lukasic.php
Licencia
Unknown
Descargas
33k
Propietario