This Ansible role installs PHP and extensions.
Supported PHP versions: 8.1, 8.2, 8.3 (default) and 8.4 (not supported on Amazon Linux 2).
None.
php_version: the PHP version to installphp_enabled_apt_repos: additional APT repositories to enablephp_enabled_yum_repos: additional Yum repositories to enablephp_installed_packages: the list of packages to installphp_installed_packages_extra: additional packages to installphp_install_xdebug: should Xdebug be installed or notphp_install_oci8_extension: should the OCI8 extension be installed or notphp_oci8_extension_ini_path: where to store the OCI8 ini file (Ubuntu)php_oracle_instantclient_path: Oracle Instant Client pathphp_remove_al2_extras_packages: should amazon-linux-extras PHP packages be removed or not
See defaults and vars for the default values.
- optional: ecgalaxy.bootstrap
- optional: ecgalaxy.common_packages
- optional: ecgalaxy.oracle_instantclient
On Amazon Linux 2 and Ubuntu, the ecgalaxy.oracle_instantclient role should be executed first
if php_install_oci8_extension is set to true (which is the default value).
- hosts: all
roles:
- ecgalaxy.bootstrap
- ecgalaxy.common_packages
- ecgalaxy.oracle_instantclient
- ecgalaxy.php
To globally install the default PHP version:
bash <(curl -s https://code.europa.eu/-/snippets/1/raw/main/ansible-role.sh) ecgalaxy.php
To globally install PHP 8.2:
bash <(curl -s https://code.europa.eu/-/snippets/1/raw/main/ansible-role.sh) ecgalaxy.php --extra-vars '{"php_version":"8.2"}'
You may need to execute the ecgalaxy.oracle_instantclient first (Amazon Linux 2, Ubuntu):
bash <(curl -s https://code.europa.eu/-/snippets/1/raw/main/ansible-role.sh) ecgalaxy.oracle_instantclient
See ansible-role for instructions.
Please verify the script integrity first.
Installing and using multiple PHP versions is supported by executing the role multiple times with different values of php_version.
To switch to another version, use the sudo update-alternatives (Ubuntu) or module load php<version> (Amazon Linux, RedHat) command.
For instance, to switch to PHP 8.2:
On Ubuntu:
sudo update-alternatives --set php /usr/bin/php8.2
On Amazon Linux, RedHat:
. /etc/profile.d/modules.sh
module load php82
Copyright the European Union 2022.
Licensed under the EUPL-1.2 or later.
ECGALAXY team.