lukasic.php

Rôle Ansible : Multi PHP

Rôle Ansible fournissant plusieurs versions de PHP sur Debian.

Journal des modifications

1.5.1

  • Correction de l'exclusion du module JSON pour PHP 8.0+

1.5.0

  • Prise en charge de PHP 8.3

1.4.0

  • Prise en charge de PHP 8.2

1.3.1

  • Suppression du module json pour PHP 7.4+

1.3.0

  • Ajout de la variable php_remove_unused_modules
    • Par défaut -> false
    • Si réglé sur true, supprime les modules PHP non spécifiés dans la variable php
  • Ajout de la variable php_remove_unused_versions
    • Par défaut -> false
    • Si réglé sur true, supprime les versions PHP non spécifiées dans la variable php
  • Correction : remplacement des caractères <0xa0>

1.2.0

  • Prise en charge de PHP 8.1

1.1.2

  • Correction de php_default_version
  • Correction des extensions redis et imagick

1.1.1

  • Mise à jour de README
  • Correction des erreurs Ansible Lint

1.1.0

  • Prise en charge de l'installation sur Ubuntu, testé Focal

1.0.0

  • Prise en charge de l'installation de différentes versions de PHP sur Debian Buster

Installation

Utiliser ansible-galaxy :

$ ansible-galaxy install lukasic.php

Utiliser requirements.yml :

- src: lukasic.php

Exigences

Le rôle nécessite le dépôt APT deb.sury.org, fourni par Ondrej Sury.

Le rôle est testé uniquement sur Debian Buster et Ubuntu Focal. D'autres versions de distribution devraient également fonctionner - si elles ont des packages dans le dépôt.

Variables du rôle

Version PHP par défaut :

php_default_version: "7.3"

Liste des modules PHP à installer pour toutes les versions :

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

Peut être spécialisée par :

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 }}"

Une super variable spéciale :

php: []

Cette variable contrôle les versions PHP installées, les modules et est utilisée pour configurer les paramètres PHP. Voir les exemples ci-dessous.

Dépendances

Aucune.

Exemple de Playbook

Exemple 1 : Installer seulement PHP 5.6 et 7.3

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

Exemple 2 : Installer PHP 5.6, 7.3, 8.0 avec des modules supplémentaires et configure les paramètres globaux CLI/FPM.

- hosts: php
  roles:
     - lukasic.php
  vars:
    # variable locale, voir ci-dessous
    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 }}"

Licence

WTFPL

Informations sur l'auteur

Le rôle a été créé en 2020 par Lukáš Kasič.

À propos du projet

Debian/Ubuntu multi-php role

Installer
ansible-galaxy install lukasic.php
Licence
Unknown
Téléchargements
33k
Propriétaire