Affected Puppet, Ruby, OS and module versions/distributions
- Puppet: 7.26.0
- Distribution: Ubuntu 22.04
- Module version: 10.0
How to reproduce (e.g Puppet code you use)
class mediawiki::php {
$php_version = '7.4'
$package_prefix = "php${php_version}-"
# First, include the php::globals class and set global defaults
class { 'php::globals':
php_version => $php_version,
config_root => "/etc/php/${php_version}",
}
# Ensure the PHP packages are installed before managing the PHP-FPM pool
class { 'php::packages':
ensure => present,
manage_repos => true,
}
# Include and configure the PHP-FPM service
class { 'php::fpm':
user => 'www-data',
group => 'www-data',
service_ensure => 'running',
service_enable => true,
service_name => "php${php_version}-fpm",
package => "php${php_version}-fpm",
inifile => "/etc/php/${php_version}/fpm/php.ini",
pools => { 'www' => { 'listen' => "/var/run/php/php${php_version}-fpm.sock" } },
log_owner => 'www-data',
global_pool_settings => {},
log_group => 'www-data',
pool_purge => false,
reload_fpm_on_config_changes => true,
settings => {
'PHP/max_execution_time' => '90',
'PHP/max_input_time' => '300',
'PHP/memory_limit' => '128M',
'PHP/post_max_size' => '32M',
'PHP/upload_max_filesize' => '32M',
'Date/date.timezone' => 'UTC',
},
require => Class['php::packages'], # Ensure php::fpm is applied after php::packages
}
# Manage the PHP-FPM pool for MediaWiki
php::fpm::pool { 'mediawiki':
listen => "/var/run/php/php${php_version}-fpm-mediawiki.sock",
pm => 'dynamic',
pm_max_children => 5,
pm_start_servers => 2,
pm_min_spare_servers => 2,
pm_max_spare_servers => 6,
pm_max_requests => 100,
}
# Install required PHP extensions for MediaWiki
$extensions = [
'gd',
'curl',
'intl',
'mbstring',
'mysqli',
'xml',
'zip',
]
# Ensure each PHP extension is installed
$extensions.each |String $extension| {
package { "${package_prefix}${extension}":
ensure => present,
}
}
}
What are you seeing
When running the agent, it installs the majority of the extensions defined, but fails at PHP Common and PHP Cli; no php.ini is generated.
What behaviour did you expect instead
PPH Common and PHP Cli should install, version 7.4, I believe.
Output log
Error: Execution of '/usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold install cli' returned 100: Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package cli
Error: /Stage[main]/Php::Packages/Package[cli]/ensure: change from 'purged' to 'present' failed: Execution of '/usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold install cli' returned 100: Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package cli
Debug: Executing: '/usr/bin/dpkg-query -W --showformat '${Status} ${Package} ${Version}\n' common'
Debug: Executing: '/usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold install common'
Error: Execution of '/usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold install common' returned 100: Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package common
Error: /Stage[main]/Php::Packages/Package[common]/ensure: change from 'purged' to 'present' failed: Execution of '/usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold install common' returned 100: Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package common
Any additional information you'd like to impart
This is potentially me misconfiguring something, but I'm not sure. Also, I had to manually add the repository for php7.4, ppa:ondrej/php, which is what manage_repos should do, if I'm correct?
Affected Puppet, Ruby, OS and module versions/distributions
How to reproduce (e.g Puppet code you use)
What are you seeing
When running the agent, it installs the majority of the extensions defined, but fails at PHP Common and PHP Cli; no php.ini is generated.
What behaviour did you expect instead
PPH Common and PHP Cli should install, version 7.4, I believe.
Output log
Any additional information you'd like to impart
This is potentially me misconfiguring something, but I'm not sure. Also, I had to manually add the repository for php7.4,
ppa:ondrej/php, which is whatmanage_reposshould do, if I'm correct?