HanXHX.php
Rôle Ansible PHP (+FPM) pour Debian / Ubuntu / FreeBSD
Installez PHP sur Debian / Ubuntu / FreeBSD. Gérez PHP-FPM, APCu, Opcache et Xdebug.
Systèmes d'exploitation gérés / Versions
Pour toutes les versions de Debian, vous pouvez installer toutes les versions de PHP en utilisant le dépôt APT de Sury.
Autres cas :
OS | PHP 7.0 | PHP 7.1 | PHP 7.2 | PHP 7.3 | PHP >= 7.4 |
---|---|---|---|---|---|
Ubuntu Bionic (18.04) | :x: | :x: | :heavy_check_mark: | :x: | :x: |
FreeBSD 11 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | Besoin de tests... |
FreeBSD 12 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | Besoin de tests... |
Liens :
Exigences
- Ansible >= 2.11
- Collections : community.general
- Si vous avez besoin de PHP-FPM, vous devez installer un serveur web avec support FastCGI. Vous pouvez utiliser mon rôle nginx.
Limitations FreeBSD
- Il ne sépare pas le fichier ini pour FPM/CLI. Il est codé en dur comme
/usr/local/etc/php.ini
. - Il ne peut pas gérer plusieurs versions de PHP en même temps (comme les anciennes versions de Debian).
- Vous devez spécifier explicitement le nom du paquet xdebug (utilisez
pkg search xdebug
pour trouver le bon).
Variables du rôle
Vous devriez consulter les variables par défaut.
Variables modifiables
php_version
: 7.3, 7.4... selon l'OS (voir ci-dessus)php_install_fpm
: booléen, installer et gérer php-fpm (par défaut vrai)php_install_xdebug
: booléen, installer Xdebugphp_extra_packages
: paquets PHP supplémentaires à installer (par défaut une liste vide).
php.ini
php_ini
: configuration globale partagée entre FPM/CLIphp_ini_fpm
: gérer le php.ini de FPM (php-fpm)php_ini_cli
: gérer le php.ini de CLI (php-fpm)
Remarque :
- Si vous voulez exactement la même configuration pour CLI/FPM, vous pouvez mettre toutes vos données dans
php_ini
. - Mettez la configuration spécifique dans
php_ini_fpm
/php_ini_cli
. - Vous pouvez remplacer avec
php_ini_fpm
/php_ini_cli
, mais cela rompt l'idempotence.
Paramètres OpCache
php_opcache_enable
php_opcache_enable_cli
php_opcache_memory_consumption
php_opcache_interned_strings_buffer
php_opcache_max_accelerated_files
php_opcache_max_wasted_percentage
php_opcache_validate_timestamps
php_opcache_revalidate_freq
php_opcache_max_file_size
Paramètres APC/APCu
Voir la documentation apc
php_apc_enable
php_apc_enable_cli
php_apc_shm_size
php_apc_num_files_hint
php_apc_user_entries_hint
php_apc_user_ttl
php_apc_ttl
php_apc_file_update_protection
php_apc_slam_defense
php_apc_stat_ctime
Paramètres Xdebug
php_xdebug_auto_trace
php_xdebug_cli_color
php_xdebug_collect_assignments
php_xdebug_collect_includes
php_xdebug_collect_params
php_xdebug_collect_return
php_xdebug_collect_vars
php_xdebug_coverage_enable
php_xdebug_default_enable
php_xdebug_dump_globals
php_xdebug_dump_once
php_xdebug_dump_undefined
php_xdebug_extended_info
php_xdebug_file_link_format
php_xdebug_force_display_errors
php_xdebug_force_error_reporting
php_xdebug_halt_level
php_xdebug_idekey
php_xdebug_manual_url
php_xdebug_max_nesting_level
php_xdebug_overload_var_dump
php_xdebug_profiler_append
php_xdebug_profiler_enable
php_xdebug_profiler_enable_trigger
php_xdebug_profiler_enable_trigger_value
php_xdebug_profiler_output_dir
php_xdebug_profiler_output_name
php_xdebug_remote_autostart
php_xdebug_remote_connect_back
php_xdebug_remote_cookie_expire_time
php_xdebug_remote_enable
php_xdebug_remote_handler
php_xdebug_remote_host
php_xdebug_remote_log
php_xdebug_remote_mode
php_xdebug_remote_port
php_xdebug_scream
php_xdebug_show_exception_trace
php_xdebug_show_local_vars
php_xdebug_show_mem_delta
php_xdebug_trace_enable_trigger
php_xdebug_trace_enable_trigger_value
php_xdebug_trace_format
php_xdebug_trace_options
php_xdebug_trace_output_dir
php_xdebug_trace_output_name
php_xdebug_var_display_max_children
php_xdebug_var_display_max_data
php_xdebug_var_display_max_depth
Variables en lecture seule
php_packages
: liste minimale des paquets à installerphp_extension_dir.stdout
: obtenir le répertoire des extensions PHP (depuis la tâche)php_version.stdout
: obtenir la version de PHP (depuis la tâche)
Dépendances
Aucune.
Exemple de Playbook
Playbook simple
- hosts: serveurs
roles:
- { role: hanxhx.php }
Debian Bullseye avec PHP 8.0 CLI (sans FPM)
- hosts: serveurs
roles:
- { role: HanXHX.sury }
- { role: hanxhx.php, php_version: '8.0', php_install_fpm: false }
Licence
GPLv2
Donations
Si ce code vous a aidé, ou si vous les avez utilisés pour vos projets, n'hésitez pas à me payer quelques :bières:
- Bitcoin :
1BQwhBeszzWbUTyK4aUyq3SRg7rBSHcEQn
- Ethereum :
0x63abe6b2648fd892816d87a31e3d9d4365a737b5
- Litecoin :
LeNDw34zQLX84VvhCGADNvHMEgb5QyFXyD
- Monero :
45wbf7VdQAZS5EWUrPhen7Wo4hy7Pa7c7ZBdaWQSRowtd3CZ5vpVw5nTPphTuqVQrnYZC72FXDYyfP31uJmfSQ6qRXFy3bQ
Pas de crypto-monnaie ? :étoile: le projet est aussi un moyen de dire merci ! :sunglasses:
Informations sur l'auteur
- Twitter : @hanxhx_
À propos du projet
Install and configure PHP 7.x/8.x
Installer
ansible-galaxy install HanXHX.php
Licence
gpl-2.0
Téléchargements
3.8k
Propriétaire
CEO/CTO/SRE triplestack.fr / daemonit.com