HanXHX.php

Ansible PHP (+FPM) Rolle für Debian / Ubuntu / FreeBSD

Ansible Galaxy GitHub Workflow Status (master)

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 Xdebug
  • php_extra_packages: zusätzliche PHP-Pakete zur Installation (Standard ist eine leere Liste).

php.ini

  • php_ini: globale Konfiguration, die zwischen FPM/CLI geteilt wird
  • php_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_ini speichern.
  • Legen Sie spezifische Konfigurationen in php_ini_fpm/php_ini_cli ab.
  • Sie können mit php_ini_fpm/php_ini_cli überschreiben, aber das bricht die Idempotenz.

OpCache-Einstellungen

Siehe Opcache-Dokumentation

  • 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

APC/APCu-Einstellungen

Siehe APC-Dokumentation

  • 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

Xdebug-Einstellungen

Siehe Xdebug-Dokumentation

  • 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

Nur-Lese-Variablen

  • php_packages: minimale Paketliste zur Installation
  • php_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

Installieren
ansible-galaxy install HanXHX.php
GitHub Repository
Lizenz
gpl-2.0
Downloads
3.8k
Besitzer
CEO/CTO/SRE triplestack.fr / daemonit.com