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č.
ansible-galaxy install lukasic.php