diff --git a/tasks/main.yml b/tasks/main.yml index 0cda591..52444ed 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -1,5 +1,14 @@ --- +- name: SHELL | Check if we are in multiple PHP distribution + ansible.builtin.shell: set -o pipefail && apt-cache search php xdebug | grep 'php[[:digit:]].[[:digit:]]' + args: + executable: /bin/bash + failed_when: false + changed_when: false + register: multiple_php + when: ansible_os_family == 'Debian' + - name: INCLUDE_VARS | Related to OS family ansible.builtin.include_vars: "OS_Family_{{ ansible_os_family }}.yml" @@ -64,6 +73,7 @@ state: present update_cache: true cache_valid_time: 3600 + install_recommends: false vars: pkgs: "{{ php_packages + php_extra_packages | flatten }}" notify: restart php-fpm diff --git a/tasks/opcache.yml b/tasks/opcache.yml index 5affb23..ce3dac9 100644 --- a/tasks/opcache.yml +++ b/tasks/opcache.yml @@ -4,11 +4,13 @@ - name: APT | Install APCu ansible.builtin.apt: - pkg: "php-apcu" + pkg: "{{ php_apcu_package }}" + install_recommends: false - name: APT | Install Opcache ansible.builtin.apt: pkg: "{{ php_package_prefix }}opcache" + install_recommends: false when: ansible_os_family == 'Debian' diff --git a/tasks/xdebug.yml b/tasks/xdebug.yml index 96eac5f..11ef482 100644 --- a/tasks/xdebug.yml +++ b/tasks/xdebug.yml @@ -8,6 +8,7 @@ state: present update_cache: true cache_valid_time: 3600 + install_recommends: false when: ansible_os_family == 'Debian' - name: PKGNG | Install xdebug diff --git a/tests/test.yml b/tests/test.yml index 842c3ee..5e722df 100644 --- a/tests/test.yml +++ b/tests/test.yml @@ -167,3 +167,21 @@ ansible.builtin.uri: url: "http://localhost{{ php_fpm_poold.0.status_path }}" when: php_fpm_poold.0.status_path is defined + + - block: + + - name: SHELL | Check if we installed multiple PHP versions + ansible.builtin.shell: set -o pipefail && (dpkg -l | grep 'php[[:digit:]].*common' | wc -l) + args: + executable: /bin/bash + failed_when: false + changed_when: false + register: check_multiple_php + + + - name: FAIL | If we have multiple PHP version + ansible.builtin.fail: + msg: "Multiple PHP versions detected" + when: check_multiple_php.stdout != '1' + + when: ansible_os_family == 'Debian' diff --git a/vars/OS_Family_Debian.yml b/vars/OS_Family_Debian.yml index ccc27dc..0633e32 100644 --- a/vars/OS_Family_Debian.yml +++ b/vars/OS_Family_Debian.yml @@ -7,7 +7,8 @@ php_packages: - '{{ php_package_prefix }}mysql' - '{{ php_package_prefix }}intl' -php_xdebug_package: 'php-xdebug' +php_xdebug_package: '{% if multiple_php.rc == 0 %}{{ php_package_prefix }}{% else %}php-{% endif %}xdebug' +php_apcu_package: '{% if multiple_php.rc == 0 %}{{ php_package_prefix }}{% else %}php-{% endif %}apcu' php_package_prefix: 'php{{ php_version }}-'