Puppet Class: php
- Defined in:
- manifests/init.pp
Overview
Entry point class for installing PHP FPM, PHP CLI, PHP extensions and configuring all including PHP FPM process pools.
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
# File 'manifests/init.pp', line 2
class php (
Enum['absent', 'present', 'latest'] $ensure = 'present',
Float $version = 7.2,
Boolean $manage_repos = true,
Optional[Hash] $extensions = { },
Optional[Hash] $fpm_pools = { },
Optional[Hash] $settings = { },
Optional[Hash] $cli_settings = { },
) {
if ($manage_repos) {
class { 'php::repo':
version => $version,
before => Class['php::fpm'],
}
$package_require = [Class['php::repo']]
} else {
$package_require = []
}
class { 'php::fpm':
ensure => $ensure,
version => $version,
settings => $settings,
cli_settings => $cli_settings,
}
if ($ensure != 'absent') {
if (!empty($extensions)) {
$extensions.each |String $name, Hash $extension| {
php::extension { $name:
* => merge({
ensure => $ensure,
php_version => $version,
require => $package_require,
}, $extension)
}
}
}
} else {
case ($::facts['osfamily']) {
'RedHat': {
case ($version) {
5.5: {
$package_prefix = 'php55'
}
5.6: {
$package_prefix = 'php56'
}
7.0: {
$package_prefix = 'php70'
}
7.1: {
$package_prefix = 'php71'
}
7.2: {
$package_prefix = 'php72'
}
default: {
fail("Unsupported PHP version ${version} for RedHat.")
}
}
exec { "yum remove -y ${package_prefix}-*":
command => "yum remove -y ${package_prefix}-*",
onlyif => "yum list installed | grep ${package_prefix}-",
}
}
default: {
fail("Unsupported osfamily: ${::facts['osfamily']}.")
}
}
}
if (!empty($fpm_pools)) {
$fpm_pools.each |String $name, Hash $fpm_pool| {
$fpm_pool_ensure = $ensure ? {
'absent' => 'absent',
default => 'present',
}
php::fpm_pool { $name:
* => merge({
ensure => $fpm_pool_ensure,
}, $fpm_pool)
}
}
}
}
|