diff --git a/README.md b/README.md index 3f0b9c41..49830b98 100644 --- a/README.md +++ b/README.md @@ -38,6 +38,10 @@ The default values for the HTTP server deamon are `httpd` (used by Apache) for R (Debian/Ubuntu only) The default version of PHP in the given OS version repositories. The specific version is set per distro and per version, but you can override it by providing a value here, like `"7.4"`. + php_default_version_redhat: "" + +(RedHat/CentOS only) The default version of PHP in the given OS version repositories. The specific version is set per distro and per version, but you can override it by providing a value here, like `"7.4"`. + **If you'd like to be able to switch PHP versions easily, or use a version that's not available in system packages**: You can use the [`geerlingguy.php-versions`](https://galaxy.ansible.com/geerlingguy/php-versions/) role to more easily switch between major PHP versions (e.g. 5.6, 7.1, 7.2). php_packages_state: "present" diff --git a/defaults/main.yml b/defaults/main.yml index 2f7e9b67..d3d46741 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -9,6 +9,9 @@ php_packages_extra: [] # Default PHP version to install on Debian-based OSes (OS-specific). # php_default_version_debian: "" +# Default PHP version to install on RedHat-based OSes (OS-specific). +# php_default_version_redhat: "" + # PHP package state; use 'present' to make sure it's installed, or 'latest' if # you want to upgrade or switch versions using a new repo. php_packages_state: present diff --git a/tasks/main.yml b/tasks/main.yml index 9d04cfca..6daf21d0 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -15,6 +15,11 @@ php_default_version_debian: "{{ __php_default_version_debian }}" when: php_default_version_debian is not defined and ansible_os_family == 'Debian' +- name: Set the default PHP version for RedHat-based OSes. + set_fact: + php_default_version_redhat: "{{ __php_default_version_redhat }}" + when: php_default_version_redhat is not defined and ansible_os_family == 'RedHat' + - name: Define the name of the JSON extension package on Debian for PHP <8. set_fact: __php_json_package_debian: "{{ 'php' + php_default_version_debian + '-json' }}" diff --git a/tasks/setup-RedHat.yml b/tasks/setup-RedHat.yml index 1d76b331..e996c7e1 100644 --- a/tasks/setup-RedHat.yml +++ b/tasks/setup-RedHat.yml @@ -1,4 +1,7 @@ --- +- name: Set the default PHP version for RedHat-based OSes. + command: "dnf module enable -y php:{{ php_default_version_redhat }}" + - name: Ensure PHP packages are installed. package: name: "{{ php_packages + php_packages_extra }}" diff --git a/vars/RedHat.yml b/vars/RedHat.yml index e1e4458d..df66d39f 100644 --- a/vars/RedHat.yml +++ b/vars/RedHat.yml @@ -1,4 +1,6 @@ --- +__php_default_version_redhat: "7.2" + __php_packages: - php - php-cli