HanXHX.php
Ansible PHP (+FPM) Rolle für Debian / Ubuntu / FreeBSD
Installiert PHP auf Debian / Ubuntu / FreeBSD. Verwalten Sie PHP-FPM, APCu, Opcache und Xdebug.
Verwaltete Betriebssysteme / Versionen
Für alle Debian-Versionen können Sie alle PHP-Versionen mit dem APT-Repository von Sury installieren.
Sonstige Fälle:
| 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: | Muss getestet werden... |
| FreeBSD 12 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | Muss getestet werden... |
Links:
Anforderungen
- Ansible >= 2.11
- Sammlungen: community.general
- Wenn Sie PHP-FPM benötigen, müssen Sie einen Webserver mit FastCGI-Unterstützung installieren. Sie können meine nginx-Rolle verwenden.
Einschränkungen bei FreeBSD
- Es gibt keine separate ini-Datei für FPM/CLI. Sie ist festgelegt auf
/usr/local/etc/php.ini. - Es können nicht mehrere PHP-Versionen gleichzeitig verwaltet werden (wie bei alten Debian-Versionen).
- Sie müssen den Namen des xdebug-Pakets ausdrücklich angeben (verwenden Sie
pkg search xdebug, um den richtigen zu finden).
Variablen der Rolle
Sie sollten sich die Standardvariablen ansehen.
Beschreibbare Variablen
php_version: 7.3, 7.4... je nach OS (siehe oben)php_install_fpm: boolean, installiert und verwaltet php-fpm (Standard ist true)php_install_xdebug: boolean, installiert Xdebugphp_extra_packages: zusätzliche PHP-Pakete zur Installation (Standard ist eine leere Liste).
php.ini
php_ini: globale Konfiguration, die zwischen FPM/CLI geteilt wirdphp_ini_fpm: verwaltet die FPM php.ini (php-fpm)php_ini_cli: verwaltet die CLI php.ini (php-fpm)
Hinweis:
- Wenn Sie genau dieselbe Konfiguration für CLI/FPM wünschen, können Sie alle Ihre Daten in
php_inispeichern. - Legen Sie spezifische Konfigurationen in
php_ini_fpm/php_ini_cliab. - Sie können mit
php_ini_fpm/php_ini_cliüberschreiben, aber das bricht die Idempotenz.
OpCache-Einstellungen
Siehe Opcache-Dokumentation
php_opcache_enablephp_opcache_enable_cliphp_opcache_memory_consumptionphp_opcache_interned_strings_bufferphp_opcache_max_accelerated_filesphp_opcache_max_wasted_percentagephp_opcache_validate_timestampsphp_opcache_revalidate_freqphp_opcache_max_file_size
APC/APCu-Einstellungen
Siehe APC-Dokumentation
php_apc_enablephp_apc_enable_cliphp_apc_shm_sizephp_apc_num_files_hintphp_apc_user_entries_hintphp_apc_user_ttlphp_apc_ttlphp_apc_file_update_protectionphp_apc_slam_defensephp_apc_stat_ctime
Xdebug-Einstellungen
Siehe Xdebug-Dokumentation
php_xdebug_auto_tracephp_xdebug_cli_colorphp_xdebug_collect_assignmentsphp_xdebug_collect_includesphp_xdebug_collect_paramsphp_xdebug_collect_returnphp_xdebug_collect_varsphp_xdebug_coverage_enablephp_xdebug_default_enablephp_xdebug_dump_globalsphp_xdebug_dump_oncephp_xdebug_dump_undefinedphp_xdebug_extended_infophp_xdebug_file_link_formatphp_xdebug_force_display_errorsphp_xdebug_force_error_reportingphp_xdebug_halt_levelphp_xdebug_idekeyphp_xdebug_manual_urlphp_xdebug_max_nesting_levelphp_xdebug_overload_var_dumpphp_xdebug_profiler_appendphp_xdebug_profiler_enablephp_xdebug_profiler_enable_triggerphp_xdebug_profiler_enable_trigger_valuephp_xdebug_profiler_output_dirphp_xdebug_profiler_output_namephp_xdebug_remote_autostartphp_xdebug_remote_connect_backphp_xdebug_remote_cookie_expire_timephp_xdebug_remote_enablephp_xdebug_remote_handlerphp_xdebug_remote_hostphp_xdebug_remote_logphp_xdebug_remote_modephp_xdebug_remote_portphp_xdebug_screamphp_xdebug_show_exception_tracephp_xdebug_show_local_varsphp_xdebug_show_mem_deltaphp_xdebug_trace_enable_triggerphp_xdebug_trace_enable_trigger_valuephp_xdebug_trace_formatphp_xdebug_trace_optionsphp_xdebug_trace_output_dirphp_xdebug_trace_output_namephp_xdebug_var_display_max_childrenphp_xdebug_var_display_max_dataphp_xdebug_var_display_max_depth
Nur-Lese-Variablen
php_packages: minimale Paketliste zur Installationphp_extension_dir.stdout: erhalten Sie das PHP-Erweiterungsverzeichnis (von der Aufgabe)php_version.stdout: erhalten Sie die PHP-Version (von der Aufgabe)
Abhängigkeiten
Keine.
Beispiel-Playbook
Einfaches Playbook
- hosts: servers
roles:
- { role: hanxhx.php }
Debian Bullseye mit PHP 8.0 CLI (kein FPM)
- hosts: servers
roles:
- { role: HanXHX.sury }
- { role: hanxhx.php, php_version: '8.0', php_install_fpm: false }
Lizenz
GPLv2
Spende
Wenn Ihnen dieser Code geholfen hat oder Sie ihn für Ihre Projekte verwendet haben, können Sie mir gerne ein paar :beers: ausgeben.
- Bitcoin:
1BQwhBeszzWbUTyK4aUyq3SRg7rBSHcEQn - Ethereum:
0x63abe6b2648fd892816d87a31e3d9d4365a737b5 - Litecoin:
LeNDw34zQLX84VvhCGADNvHMEgb5QyFXyD - Monero:
45wbf7VdQAZS5EWUrPhen7Wo4hy7Pa7c7ZBdaWQSRowtd3CZ5vpVw5nTPphTuqVQrnYZC72FXDYyfP31uJmfSQ6qRXFy3bQ
Keine Kryptowährung? :star: Das Projekt ist auch eine Möglichkeit, Danke zu sagen! :sunglasses:
Autoreninformation
- Twitter: @hanxhx_
Über das Projekt
Install and configure PHP 7.x/8.x
Installieren
ansible-galaxy install HanXHX.phpLizenz
gpl-2.0
Downloads
3.8k
Besitzer
CEO/CTO/SRE triplestack.fr / daemonit.com
