geerlingguy.php-versions
Ansible Role: PHP Versions
This role allows you to install different versions of PHP when using the geerlingguy.php role (or similar roles). It was initially made for Drupal VM but is now available for everyone to use for easily switching PHP versions.
Requirements
None
Role Variables
Here are the available variables along with their default values (see defaults/main.yml):
- php_version: '8.3'
 This sets the PHP version to be installed. You can choose any currently supported major version of PHP (like- 7.4,- 8.1,- 8.2, or- 8.3).
- php_versions_install_recommends: false
 (For Debian operating systems only) This determines whether to install recommended packages. It's set to- noby default, as setting it to- yescan cause multiple PHP versions to be installed, which can create confusion, especially when using repositories like Ondrej's PHP PPA for Ubuntu.
Dependencies
- The geerlingguy.phprole is a soft dependency since thephp_versionvariable needs to be set.
- The geerlingguy.repo-remirole is needed if you're on CentOS or a similar Red Hat-based system.
Example Playbook
- hosts: webservers
  become: true
  vars:
    php_version: '8.3'
  roles:
    - name: geerlingguy.repo-remi
      when: ansible_os_family == 'RedHat'
    - geerlingguy.php-versions
    - geerlingguy.php
License
MIT / BSD
Author Information
This role was created in 2017 by Jeff Geerling, who is also the author of Ansible for DevOps.
Allows different PHP versions to be installed.
ansible-galaxy install geerlingguy.php-versions