php
: Base class with global configuration parameters that pulls in all enabled components. === Parameters [ensure] Specify which version ofphp::apache_config
: Install and configure php apache settings === Parameters [inifile] The path to the ini php-apache ini file [settings] Hash with nephp::cli
: Install and configure php CLI === Parameters [inifile] The path to the ini php5-cli ini file [settings] Hash with nested hash of kphp::composer
: Install composer package manager === Parameters [source] Holds URL to the Composer source file [path] Holds path to the Composer ephp::composer::auto_update
: Install composer package manager === Parameters [max_age] Defines number of days after which Composer should be updated [source] Hphp::dev
: Install the development package with headers for PHP === Parameters [ensure] The PHP ensure of PHP dev to install [package] The paphp::embedded
: Install and configure php embedded SAPI === Parameters [inifile] The path to the ini php5-embeded ini file [settings] Hash with nephp::fpm
: Install and configure mod_php for fpm === Parameters [user] The user that php-fpm should run as [group] The group that php-fpm shophp::fpm::config
: Configure php-fpm service === Parameters [config_file] The path to the fpm config file [user] The user that runs php-fpm [groupphp::fpm::service
: Manage fpm service === Parameters [service_name] name of the php-fpm service [ensure] 'ensure' value for the service [enable]php::global
php::globals
php::packages
: Install common PHP packages === Parameters [ensure] Specify which version of PHP packages to install [names] List of the names ofphp::params
: PHP params classphp::pear
: Install PEAR package manager === Parameters [ensure] The package ensure of PHP pear to install and run pear auto_discover [package]php::phpunit
: Install phpunit, PHP testing framework === Parameters [source] Holds URL to the phpunit source file [path] Holds path to the phpunphp::phpunit::auto_update
: Install phpunit package manager === Parameters [max_age] Defines number of days after which phpunit should be updated [source] Holphp::repo
: Configure package repositoryphp::repo::debian
: Configure debian apt repo === Parameters [location] Location of the apt repository [repos] Apt repository names [include_src]php::repo::redhat
php::repo::suse
: Configure suse repo === Parameters [reponame] Name of the Zypper repository [baseurl] Base URL of the Zypper repositoryphp::repo::ubuntu
: Configure ubuntu ppa === Parameters [version] PHP version to manage (e.g. 5.6)
php::apache_vhost
: Configures an apache vhost for php === Parameters [vhost] The vhost address [docroot] The vhost docroot [port] The vhost portphp::config
: Configure php.ini settings for a PHP SAPI === Parameters [file] The path to ini file [config] Nested hash of key => value to applyphp::config::setting
: Configure php.ini settings === Parameters [key] The key of the value, likeini_setting
[file] The path to ini file [value]php::extension
: Install a PHP extension package === Parameters [ensure] The ensure of the package to install Could be "present", "absent", "latest",php::extension::config
: Configure a PHP extension package === Parameters [ensure] The ensure of the package to install Could be "latest", "installed" or a piphp::extension::install
: Install a PHP extension package === Parameters [ensure] The ensure of the package to install Could be "latest", "installed" or a pinnphp::fpm::pool
: Configure fpm pools === Parameters See the official php-fpm documentation for parameters that are not documented here: http://php.net/manua
ensure_prefix
: This function ensures a prefix for all elements in an array or the keys in a hash. Examples: ensure_prefix({'a' => 1, 'b' => 2, 'p.c' =to_hash_settings
: This function converts a +{key => value}+ hash into a nested hash and can add an id to the outer key. The optional id string as second parame
Php::ComposerChannel
Php::Duration
: A duration in seconds are with an unitPhp::InstallOptions
Php::Provider
Php::Sapi
Base class with global configuration parameters that pulls in all enabled components.
=== Parameters
[ensure] Specify which version of PHP packages to install, defaults to 'present'. Please note that 'absent' to remove packages is not supported!
[manage_repos] Include repository (dotdeb, ppa, etc.) to install recent PHP from
[fpm] Install and configure php-fpm
[fpm_service_enable] Enable/disable FPM service
[fpm_service_ensure] Ensure FPM service is either 'running' or 'stopped'
[fpm_service_name] This is the name of the php-fpm service. It defaults to reasonable OS defaults but can be different in case of using php7.0/other OS/custom fpm service
[fpm_service_provider] This is the name of the service provider, in case there is a non OS default service provider used to start FPM. Defaults to 'undef', pick system defaults.
[fpm_pools] Hash of php::fpm::pool resources that will be created. Defaults to a single php::fpm::pool named www with default parameters.
[fpm_global_pool_settings] Hash of defaults params php::fpm::pool resources that will be created. Defaults to empty hash.
[fpm_inifile] Path to php.ini for fpm
[fpm_package] Name of fpm package to install
[fpm_user] The user that php-fpm should run as
[fpm_group] The group that php-fpm should run as
[dev] Install php header files, needed to install pecl modules
[composer] Install and auto-update composer
[pear] Install PEAR
[phpunit] Install phpunit
[apache_config] Manage apache's mod_php configuration
[proxy_type] proxy server type (none|http|https|ftp)
[proxy_server] specify a proxy server, with port number if needed. ie: https://example.com:8080.
[extensions]
Install PHP extensions, this is overwritten by hiera hash php::extensions
[package_prefix] This is the prefix for constructing names of php packages. This defaults to a sensible default depending on your operating system, like 'php-' or 'php5-'.
[config_root_ini] This is the path to the config .ini files of the extensions. This defaults to a sensible default depending on your operating system, like '/etc/php5/mods-available' or '/etc/php5/conf.d'.
[config_root_inifile] The path to the global php.ini file. This defaults to a sensible default depending on your operating system.
[ext_tool_enable] Absolute path to php tool for enabling extensions in debian/ubuntu systems. This defaults to '/usr/sbin/php5enmod'.
[ext_tool_query] Absolute path to php tool for querying information about extensions in debian/ubuntu systems. This defaults to '/usr/sbin/php5query'.
[ext_tool_enabled] Enable or disable the use of php tools on debian based systems debian/ubuntu systems. This defaults to 'true'.
[log_owner] The php-fpm log owner
[log_group] The group owning php-fpm logs
[embedded] Enable embedded SAPI
[pear_ensure] The package ensure of PHP pear to install and run pear auto_discover
[settings] PHP configuration parameters in php.ini files as a hash. For example, 'Date/date.timezone' => 'Australia/Melbourne' sets data.timezone to 'Australia/Melbourne' under [Date] section, and 'PHP/memory_limit' => '256M' sets memory_limit to 256M.
[cli_settings] Additional hash of PHP configuration parameters for PHP CLI. When a setting key already exists in $settings, the value provided from the $cli_settings parameter overrides the value from $settings parameter. For example, 'PHP/memory_limit' => '1000M' sets memory_limit to 1000M for the PHP cli ini file, regardless of the values from $settings.
[pool_purge] Whether to purge pool config files not created by this module
[reload_fpm_on_config_changes] by default, we reload the service on changes. But certain options, like socket owner, will only be applied during a restart. If set to false, a restart will be executed instead of a reload. This default will be changed in a future release.
The following parameters are available in the php
class:
ensure
manage_repos
fpm
fpm_service_enable
fpm_service_ensure
fpm_service_name
fpm_service_provider
fpm_pools
fpm_global_pool_settings
fpm_inifile
fpm_package
fpm_user
fpm_group
fpm_log_dir_mode
embedded
dev
composer
pear
pear_ensure
phpunit
apache_config
proxy_type
proxy_server
extensions
settings
cli_settings
package_prefix
config_root_ini
config_root_inifile
ext_tool_enable
ext_tool_query
ext_tool_enabled
log_owner
log_group
pool_purge
reload_fpm_on_config_changes
Data type: String
Default value: $php::params::ensure
Data type: Boolean
Default value: $php::params::manage_repos
Data type: Boolean
Default value: true
Data type: Boolean
Default value: $php::params::fpm_service_enable
Data type: Enum['running', 'stopped']
Default value: $php::params::fpm_service_ensure
Data type: String[1]
Default value: $php::params::fpm_service_name
Data type: Optional[String[1]]
Default value: undef
Data type: Hash
Default value: $php::params::fpm_pools
Data type: Hash
Default value: {}
Data type: Stdlib::Absolutepath
Default value: $php::params::fpm_inifile
Data type: Optional[String[1]]
Default value: undef
Data type: String[1]
Default value: $php::params::fpm_user
Data type: String[1]
Default value: $php::params::fpm_group
Data type: Stdlib::Filemode
Default value: $php::params::fpm_log_dir_mode
Data type: Boolean
Default value: false
Data type: Boolean
Default value: true
Data type: Boolean
Default value: true
Data type: Boolean
Default value: $php::params::pear
Data type: String
Default value: $php::params::pear_ensure
Data type: Boolean
Default value: false
Data type: Boolean
Default value: false
Data type: Optional[String[1]]
Default value: undef
Data type: Optional[String[1]]
Default value: undef
Data type: Hash
Default value: {}
Data type: Hash
Default value: {}
Data type: Hash
Default value: {}
Data type: Optional[String[1]]
Default value: $php::params::package_prefix
Data type: Stdlib::Absolutepath
Default value: $php::params::config_root_ini
Data type: Stdlib::Absolutepath
Default value: $php::params::config_root_inifile
Data type: Optional[Stdlib::Absolutepath]
Default value: $php::params::ext_tool_enable
Data type: Optional[Stdlib::Absolutepath]
Default value: $php::params::ext_tool_query
Data type: Boolean
Default value: $php::params::ext_tool_enabled
Data type: String
Default value: $php::params::fpm_user
Data type: String
Default value: $php::params::fpm_group
Data type: Boolean
Default value: $php::params::pool_purge
Data type: Boolean
Default value: true
Install and configure php apache settings
=== Parameters
[inifile] The path to the ini php-apache ini file
[settings] Hash with nested hash of key => value to set in inifile
The following parameters are available in the php::apache_config
class:
Data type: Stdlib::Absolutepath
Default value: $php::params::apache_inifile
Data type: Hash
Default value: {}
Install and configure php CLI
=== Parameters
[inifile] The path to the ini php5-cli ini file
[settings] Hash with nested hash of key => value to set in inifile
The following parameters are available in the php::cli
class:
Data type: Stdlib::Absolutepath
Default value: $php::params::cli_inifile
Data type: Hash
Default value: {}
Install composer package manager
=== Parameters
[source] Holds URL to the Composer source file
[path] Holds path to the Composer executable
[channel] Holds the Update channel (stable|preview|snapshot|1|2)
[proxy_type] proxy server type (none|http|https|ftp)
[proxy_server] specify a proxy server, with port number if needed. ie: https://example.com:8080.
[auto_update] Defines if composer should be auto updated
[max_age] Defines the time in days after which an auto-update gets executed
[root_group] UNIX group of the root user
The following parameters are available in the php::composer
class:
Data type: String
Default value: $php::params::composer_source
Data type: Stdlib::Absolutepath
Default value: $php::params::composer_path
Data type: Optional[String[1]]
Default value: undef
Data type: Optional[String[1]]
Default value: undef
Data type: Php::ComposerChannel
Default value: 'stable'
Data type: Boolean
Default value: true
Data type: Integer
Default value: $php::params::composer_max_age
Data type: Variant[Integer, String]
Default value: $php::params::root_group
Install composer package manager
=== Parameters
[max_age] Defines number of days after which Composer should be updated
[source] Holds URL to the Composer source file
[path] Holds path to the Composer executable
[channel] Holds the Update channel (stable|preview|snapshot|1|2)
[proxy_type] proxy server type (none|http|https|ftp)
[proxy_server] specify a proxy server, with port number if needed. ie: https://example.com:8080.
=== Examples
include php::composer::auto_update class { "php::composer::auto_update": "max_age" => 90 }
The following parameters are available in the php::composer::auto_update
class:
Data type: Integer[1]
Data type: String[1]
Data type: Stdlib::Absolutepath
Data type: Php::ComposerChannel
Default value: 'stable'
Data type: Optional[String[1]]
Default value: undef
Data type: Optional[String[1]]
Default value: undef
Install the development package with headers for PHP
=== Parameters
[ensure] The PHP ensure of PHP dev to install
[package] The package name for the PHP development files
The following parameters are available in the php::dev
class:
Data type: String
Default value: $php::ensure
Data type: String
Default value: "${php::package_prefix}${php::params::dev_package_suffix}"
Data type: Boolean
Default value: $php::manage_repos
Install and configure php embedded SAPI
=== Parameters
[inifile] The path to the ini php5-embeded ini file
[settings] Hash with nested hash of key => value to set in inifile
[package] Specify which package to install
[ensure] Specify which version of the package to install
The following parameters are available in the php::embedded
class:
Data type: String
Default value: $php::ensure
Data type: String
Default value: "${php::package_prefix}${php::params::embedded_package_suffix}"
Data type: Stdlib::Absolutepath
Default value: $php::params::embedded_inifile
Data type: Hash
Default value: {}
Install and configure mod_php for fpm
=== Parameters
[user] The user that php-fpm should run as
[group] The group that php-fpm should run as
[service_enable] Enable/disable FPM service
[service_ensure] Ensure FPM service is either 'running' or 'stopped'
[service_name] This is the name of the php-fpm service. It defaults to reasonable OS defaults but can be different in case of using php7.0/other OS/custom fpm service
[service_provider] This is the name of the service provider, in case there is a non OS default service provider used to start FPM. Defaults to 'undef', pick system defaults.
[pools] Hash of php::fpm::pool resources that will be created. Defaults to a single php::fpm::pool named www with default parameters.
[log_owner] The php-fpm log owner
[log_group] The group owning php-fpm logs
[package] Specify which package to install
[ensure] Specify which version of the package to install
[inifile] Path to php.ini for fpm
[settings] fpm settings hash
[global_pool_settings] Hash of defaults params php::fpm::pool resources that will be created. Defaults is empty hash.
[pool_purge] Whether to purge pool config files not created by this module
[reload_fpm_on_config_changes] by default, we reload the service on changes. But certain options, like socket owner, will only be applied during a restart. If set to false, a restart will be executed instead of a reload. This default will be changed in a future release.
The following parameters are available in the php::fpm
class:
ensure
user
group
service_ensure
service_enable
service_name
service_provider
package
inifile
settings
global_pool_settings
pools
log_owner
log_group
pool_purge
reload_fpm_on_config_changes
Data type: Optional[String]
Default value: $php::ensure
Data type: String[1]
Default value: $php::fpm_user
Data type: String[1]
Default value: $php::fpm_group
Data type: Enum['running', 'stopped']
Default value: $php::fpm_service_ensure
Data type: Boolean
Default value: $php::fpm_service_enable
Data type: String[1]
Default value: $php::fpm_service_name
Data type: Optional[String[1]]
Default value: $php::fpm_service_provider
Data type: String
Default value: $php::real_fpm_package
Data type: Stdlib::Absolutepath
Default value: $php::fpm_inifile
Data type: Hash
Default value: $php::real_settings
Data type: Hash
Default value: $php::real_fpm_global_pool_settings
Data type: Hash
Default value: $php::real_fpm_pools
Data type: String[1]
Default value: $php::log_owner
Data type: String[1]
Default value: $php::log_group
Data type: Boolean
Default value: $php::pool_purge
Data type: Boolean
Default value: $php::reload_fpm_on_config_changes
Configure php-fpm service
=== Parameters
[config_file] The path to the fpm config file
[user] The user that runs php-fpm
[group] The group that runs php-fpm
[inifile] The path to ini file
[settings] Nested hash of key => value to apply to php.ini
[pool_base_dir] The folder that contains the php-fpm pool configs
[pool_purge] Whether to purge pool config files not created by this module
[error_log] Path to error log file. If it's set to "syslog", log is sent to syslogd instead of being written in a local file.
[log_level] The php-fpm log level
[emergency_restart_threshold] The php-fpm emergency_restart_threshold
[emergency_restart_interval] The php-fpm emergency_restart_interval
[process_control_timeout] The php-fpm process_control_timeout
[process_max] The maximum number of processes FPM will fork.
[rlimit_files] Set open file descriptor rlimit for the master process.
[systemd_interval] The interval between health report notification to systemd
[log_owner] The php-fpm log owner
[log_group] The group owning php-fpm logs
[log_dir_mode] The octal mode of the directory
[syslog_facility] Used to specify what type of program is logging the message
[syslog_ident] Prepended to every message
[root_group] UNIX group of the root user
[pid_file] Path to fpm pid file
[manage_run_dir] Manage the run directory
The following parameters are available in the php::fpm::config
class:
config_file
user
group
inifile
pid_file
settings
pool_base_dir
pool_purge
error_log
log_level
emergency_restart_threshold
emergency_restart_interval
process_control_timeout
process_max
rlimit_files
systemd_interval
log_owner
log_group
log_dir_mode
root_group
syslog_facility
syslog_ident
manage_run_dir
Data type: Stdlib::Absolutepath
Default value: $php::params::fpm_config_file
Data type: String
Default value: $php::params::fpm_user
Data type: String
Default value: $php::params::fpm_group
Data type: String
Default value: $php::params::fpm_inifile
Data type: Stdlib::Absolutepath
Default value: $php::params::fpm_pid_file
Data type: Hash
Default value: {}
Data type: Stdlib::Absolutepath
Default value: $php::params::fpm_pool_dir
Data type: Boolean
Default value: false
Data type: String
Default value: $php::params::fpm_error_log
Data type: String
Default value: 'notice'
Data type: Integer
Default value: 0
Data type: Php::Duration
Default value: 0
Data type: Php::Duration
Default value: 0
Data type: Integer
Default value: 0
Data type: Optional[Integer[1]]
Default value: undef
Data type: Optional[Php::Duration]
Default value: undef
Data type: String
Default value: $php::params::fpm_user
Data type: String
Default value: $php::params::fpm_group
Data type: Stdlib::Filemode
Default value: $php::params::fpm_log_dir_mode
Data type: String[1]
Default value: $php::params::root_group
Data type: String
Default value: 'daemon'
Data type: String
Default value: 'php-fpm'
Data type: Boolean
Default value: true
Manage fpm service
=== Parameters
[service_name] name of the php-fpm service
[ensure] 'ensure' value for the service
[enable] Defines if the service is enabled
[provider] Defines if the service provider to use
[reload_fpm_on_config_changes] by default, we reload the service on changes. But certain options, like socket owner, will only be applied during a restart. If set to false, a restart will be executed instead of a reload. This default will be changed in a future release.
The following parameters are available in the php::fpm::service
class:
Data type: String[1]
Default value: $php::fpm::service_name
Data type: Enum['running', 'stopped']
Default value: $php::fpm::service_ensure
Data type: Boolean
Default value: $php::fpm::service_enable
Data type: Optional[String[1]]
Default value: $php::fpm::service_provider
Data type: Boolean
Default value: $php::fpm::reload_fpm_on_config_changes
The php::global class.
The following parameters are available in the php::global
class:
Data type: Stdlib::Absolutepath
Default value: $php::config_root_inifile
Data type: Hash
Default value: {}
The php::globals class.
The following parameters are available in the php::globals
class:
Data type: Optional[Pattern[/^(rh-)?(php)?[578](\.)?[0-9]/]]
Default value: undef
Data type: Optional[Stdlib::Absolutepath]
Default value: undef
Data type: Optional[Stdlib::Absolutepath]
Default value: undef
Data type: Optional[Enum['rhscl', 'remi']]
Default value: undef
Data type: Optional[Hash]
Default value: undef
Data type: Enum['community', 'zend']
Default value: 'community'
Install common PHP packages
=== Parameters
[ensure] Specify which version of PHP packages to install
[names] List of the names of the package to install
[names_to_prefix]
List of packages names that should be prefixed with the common
package prefix $php::package_prefix
The following parameters are available in the php::packages
class:
Data type: String
Default value: $php::ensure
Data type: Boolean
Default value: $php::manage_repos
Data type: Array
Default value: prefix($php::params::common_package_suffixes, $php::package_prefix)
Data type: Array
Default value: $php::params::common_package_names
PHP params class
Install PEAR package manager
=== Parameters
[ensure] The package ensure of PHP pear to install and run pear auto_discover
[package] The package name for PHP pear
The following parameters are available in the php::pear
class:
Data type: String
Default value: $php::pear_ensure
Data type: Optional[String]
Default value: undef
Data type: Boolean
Default value: $php::manage_repos
Install phpunit, PHP testing framework
=== Parameters
[source] Holds URL to the phpunit source file
[path] Holds path to the phpunit executable
[auto_update] Defines if phpunit should be auto updated
[max_age] Defines the time in days after which an auto-update gets executed
The following parameters are available in the php::phpunit
class:
Data type: String
Default value: $php::params::phpunit_source
Data type: Stdlib::Absolutepath
Default value: $php::params::phpunit_path
Data type: String[1]
Default value: $php::params::root_group
Data type: Boolean
Default value: true
Data type: Integer
Default value: $php::params::phpunit_max_age
Install phpunit package manager
=== Parameters
[max_age] Defines number of days after which phpunit should be updated
[source] Holds URL to the phpunit source file
[path] Holds path to the phpunit executable
The following parameters are available in the php::phpunit::auto_update
class:
Data type: Integer[1]
Data type: String[1]
Data type: Stdlib::Absolutepath
Configure package repository
Configure debian apt repo
=== Parameters
[location] Location of the apt repository
[repos] Apt repository names
[include_src] Add source source repository
[key] Public key in apt::key format
[dotdeb] Enable special dotdeb handling
[sury] Enable special sury handling
The following parameters are available in the php::repo::debian
class:
Data type: String[1]
Default value: 'https://packages.dotdeb.org'
Data type: String[1]
Default value: 'all'
Data type: Boolean
Default value: false
Data type: Hash
Default value:
{
'id' => '6572BBEF1B5FF28B28B706837E3F070089DF5277',
'source' => 'http://www.dotdeb.org/dotdeb.gpg',
}
Data type: Boolean
Default value: true
Data type: Boolean
Default value: true
The php::repo::redhat class.
The following parameters are available in the php::repo::redhat
class:
Data type: String[1]
Default value: 'remi_php56'
Configure suse repo
=== Parameters
[reponame] Name of the Zypper repository
[baseurl] Base URL of the Zypper repository
The following parameters are available in the php::repo::suse
class:
Data type: String[1]
Default value: 'mayflower-php56'
Data type: String[1]
Default value: 'http://download.opensuse.org/repositories/home:/mayflower:/php5.6_based/SLE_11_SP3/'
Configure ubuntu ppa
=== Parameters
[version] PHP version to manage (e.g. 5.6)
The following parameters are available in the php::repo::ubuntu
class:
Data type: Pattern[/^\d\.\d/]
Default value: '5.6'
Configures an apache vhost for php
=== Parameters
[vhost] The vhost address
[docroot] The vhost docroot
[port] The vhost port
[default_vhost] defines if vhost is the default vhost
[fastcgi_socket] address of the fastcgi socket
The following parameters are available in the php::apache_vhost
defined type:
Data type: String[1]
Default value: 'example.com'
Data type: Stdlib::Absolutepath
Default value: '/var/www'
Data type: Integer[1]
Default value: 80
Data type: Boolean
Default value: true
Data type: String[1]
Default value: 'fcgi://127.0.0.1:9000/$1'
Configure php.ini settings for a PHP SAPI
=== Parameters
[file] The path to ini file
[config] Nested hash of key => value to apply to php.ini
=== Examples
php::config { '$unique-name': file => '$full_path_to_ini_file' config => { {'Date/date.timezone' => 'Europe/Berlin'} } }
The following parameters are available in the php::config
defined type:
Data type: Stdlib::Absolutepath
Data type: Hash
Configure php.ini settings
=== Parameters
[key]
The key of the value, like ini_setting
[file] The path to ini file
[value] The value to set
=== Examples
php::config::setting { 'Date/date.timezone': file => '$full_path_to_ini_file' value => 'Europe/Berlin' }
The following parameters are available in the php::config::setting
defined type:
Data type: String[1]
Data type: Stdlib::Absolutepath
Data type: Optional[Variant[Integer, String]]
Default value: undef
Install a PHP extension package
=== Parameters
[ensure] The ensure of the package to install Could be "present", "absent", "latest", "installed" or a pinned version
[package_prefix] Prefix to prepend to the package name for the package provider
[package_name] Full package name for the package provider (e.g. php7.2-xml for simlexml extension)
[provider] The provider used to install the package Could be "pecl", "apt", "dpkg" or any other OS package provider If set to "none", no package will be installed
[source] The source to install the extension from. Possible values depend on the provider used
[so_name] The DSO name of the package (e.g. opcache for zendopcache)
[ini_prefix] An optional filename prefix for the settings file of the extension
[php_api_version] This parameter is used to build the full path to the extension directory for zend_extension in PHP < 5.5 (e.g. 20100525)
[header_packages] System packages dependencies to install for extensions (e.g. for memcached libmemcached-dev on Debian)
[compiler_packages] System packages dependencies to install for compiling extensions (e.g. build-essential on Debian)
[zend] Boolean parameter, whether to load extension as zend_extension. Defaults to false.
[settings] Hash of parameters for the specific extension, which will be written to the extensions config file by php::extension::config or a hash of mutliple settings files, each with parameters (multifile_settings must be true) (f.ex. {p => '..'} or {'bz2' => {..}, {'math' => {...}})
[multifile_settings] Set this to true if you specify multiple setting files in settings. This must be used when the PHP package distribution bundles extensions in a single package (like 'common' bundles extensions 'bz2', ...) and each of the extension comes with a separate settings file.
[settings_prefix] Boolean/String parameter, whether to prefix all setting keys with the extension name or specified name. Defaults to false.
[sapi] String parameter, whether to specify ALL sapi or a specific sapi. Defaults to ALL.
[responsefile] File containing answers for interactive extension setup. Supported providers: pear, pecl.
[install_options] Array of String or Hash options to pass to the provider.
The following parameters are available in the php::extension
defined type:
ensure
provider
source
so_name
ini_prefix
php_api_version
package_prefix
package_name
zend
settings
multifile_settings
sapi
settings_prefix
responsefile
header_packages
compiler_packages
install_options
Data type: String
Default value: $php::ensure
Data type: Optional[Php::Provider]
Default value: undef
Data type: Optional[String]
Default value: undef
Data type: Optional[String]
Default value: undef
Data type: Optional[String]
Default value: undef
Data type: Optional[String]
Default value: undef
Data type: String
Default value: $php::package_prefix
Data type: Optional[String[1]]
Default value: undef
Data type: Boolean
Default value: false
Data type: Variant[Hash, Hash[String, Hash]]
Default value: {}
Data type: Boolean
Default value: false
Data type: Php::Sapi
Default value: 'ALL'
Data type: Variant[Boolean, String]
Default value: false
Data type: Optional[Stdlib::AbsolutePath]
Default value: undef
Data type: Variant[String, Array[String]]
Default value: []
Data type: Variant[String, Array[String]]
Default value: $php::params::compiler_packages
Data type: Php::InstallOptions
Default value: undef
Configure a PHP extension package
=== Parameters
[ensure] The ensure of the package to install Could be "latest", "installed" or a pinned version
[provider] The provider used to install the package Could be "pecl", "apt", "dpkg" or any other OS package provider If set to "none", no package will be installed
[so_name] The DSO name of the package (e.g. opcache for zendopcache)
[ini_prefix] An optional filename prefix for the settings file of the extension
[php_api_version] This parameter is used to build the full path to the extension directory for zend_extension in PHP < 5.5 (e.g. 20100525)
[header_packages] System packages dependencies to install for extensions (e.g. for memcached libmemcached-dev on Debian)
[compiler_packages] System packages dependencies to install for compiling extensions (e.g. build-essential on Debian)
[zend] Boolean parameter, whether to load extension as zend_extension. Defaults to false.
[settings] Nested hash of global config parameters for php.ini
[settings_prefix] Boolean/String parameter, whether to prefix all setting keys with the extension name or specified name. Defaults to false.
[sapi] String parameter, whether to specify ALL sapi or a specific sapi. Defaults to ALL.
The following parameters are available in the php::extension::config
defined type:
Data type: String
Default value: 'installed'
Data type: Optional[Php::Provider]
Default value: undef
Data type: Optional[String]
Default value: downcase($name)
Data type: Optional[String]
Default value: undef
Data type: Optional[String]
Default value: undef
Data type: Boolean
Default value: false
Data type: Hash
Default value: {}
Data type: Variant[Boolean, String]
Default value: false
Data type: Php::Sapi
Default value: 'ALL'
Install a PHP extension package
=== Parameters
[ensure] The ensure of the package to install Could be "latest", "installed" or a pinned version
[package_prefix] Prefix to prepend to the package name for the package provider
[package_name] Full package name for the package provider (e.g. php7.2-xml for simlexml extension)
[provider] The provider used to install the package Could be "pecl", "apt", "dpkg" or any other OS package provider If set to "none", no package will be installed
[source] The source to install the extension from. Possible values depend on the provider used
[header_packages] System packages dependencies to install for extensions (e.g. for memcached libmemcached-dev on Debian)
[compiler_packages] System packages dependencies to install for compiling extensions (e.g. build-essential on Debian)
[responsefile] File containing answers for interactive extension setup. Supported providers: pear, pecl.
[install_options] Array of String or Hash options to pass to the provider.
The following parameters are available in the php::extension::install
defined type:
ensure
provider
source
package_prefix
package_name
responsefile
header_packages
compiler_packages
install_options
Data type: String
Default value: 'installed'
Data type: Optional[Php::Provider]
Default value: undef
Data type: Optional[String]
Default value: undef
Data type: String
Default value: $php::package_prefix
Data type: Optional[String[1]]
Default value: undef
Data type: Optional[Stdlib::AbsolutePath]
Default value: undef
Data type: Variant[String, Array[String]]
Default value: []
Data type: Variant[String, Array[String]]
Default value: $php::params::compiler_packages
Data type: Php::InstallOptions
Default value: undef
Configure fpm pools
=== Parameters
See the official php-fpm documentation for parameters that are not documented here: http://php.net/manual/en/install.fpm.configuration.php.
[ensure]
Remove pool if set to 'absent'
, add otherwise
[listen]
On what socket to listen for FastCGI connections, i.e.
'127.0.0.1:9000'' or
'/var/run/php5-fpm.sock'`
[listen_backlog]
[listen_allowed_clients]
[listen_owner] Set owner of the Unix socket
[listen_group] Set the group of the Unix socket
[listen_mode]
[user] The user that php-fpm should run as
[group] The group that php-fpm should run as
[apparmor_hat] The Apparmor hat to use
[pm]
[pm_max_children]
[pm_start_servers]
[pm_min_spare_servers]
[pm_max_spare_servers]
[pm_max_requests]
[pm_process_idle_timeout]
[pm_status_path]
[ping_path]
[ping_response]
[access_log] The path to the file to write access log requests to
[access_log_format] The format to save the access log entries as
[request_terminate_timeout]
[request_slowlog_timeout]
[security_limit_extensions]
[slowlog]
[template] The template to use for the pool
[rlimit_files]
[rlimit_core]
[chroot]
[chdir]
[catch_workers_output]
[include] Other configuration files to include on this pool
[env] List of environment variables that are passed to the php-fpm from the outside and will be available to php scripts in this pool
[env_value] Hash of environment variables and values as strings to use in php scripts in this pool
[clear_env] Whether the environment should be cleared.
[options] An optional hash for any other data.
[php_value] Hash of php_value directives
[php_flag] Hash of php_flag directives
[php_admin_value] Hash of php_admin_value directives
[php_admin_flag] Hash of php_admin_flag directives
[php_directives] List of custom directives that are appended to the pool config
[root_group] UNIX group of the root user
[base_dir] The folder that contains the php-fpm pool configs. This defaults to a sensible default depending on your operating system, like '/etc/php5/fpm/pool.d' or '/etc/php-fpm.d'
The following parameters are available in the php::fpm::pool
defined type:
ensure
listen
listen_backlog
listen_allowed_clients
listen_owner
listen_group
listen_mode
user
group
apparmor_hat
pm
pm_max_children
pm_start_servers
pm_min_spare_servers
pm_max_spare_servers
pm_max_requests
pm_process_idle_timeout
pm_status_path
ping_path
ping_response
access_log
access_log_format
request_terminate_timeout
request_slowlog_timeout
security_limit_extensions
slowlog
template
rlimit_files
rlimit_core
chroot
chdir
catch_workers_output
include
env
env_value
clear_env
options
php_value
php_flag
php_admin_value
php_admin_flag
php_directives
root_group
base_dir
Data type: Enum['present', 'absent']
Default value: 'present'
Data type: String[1]
Default value: '127.0.0.1:9000'
Data type: Integer[-1]
Default value: -1
Data type: Optional[String[1]]
Default value: undef
Data type: Optional[String[1]]
Default value: undef
Data type: Optional[String[1]]
Default value: undef
Data type: Optional[Stdlib::Filemode]
Default value: undef
Data type: String[1]
Default value: $php::fpm::config::user
Data type: String[1]
Default value: $php::fpm::config::group
Data type: Optional[String[1]]
Default value: undef
Data type: String[1]
Default value: 'dynamic'
Data type: Integer[1]
Default value: 50
Data type: Integer[0]
Default value: 5
Data type: Integer[0]
Default value: 5
Data type: Integer[0]
Default value: 35
Data type: Integer[0]
Default value: 0
Data type: Php::Duration
Default value: '10s'
Data type: Optional[Stdlib::Absolutepath]
Default value: undef
Data type: Optional[Stdlib::Absolutepath]
Default value: undef
Data type: String[1]
Default value: 'pong'
Data type: Optional[Stdlib::Absolutepath]
Default value: undef
Data type: String[1]
Default value: '"%R - %u %t \"%m %r\" %s"'
Data type: Php::Duration
Default value: 0
Data type: Php::Duration
Default value: 0
Data type: Array[String[1]]
Default value: []
Data type: Stdlib::Absolutepath
Default value: "/var/log/php-fpm/${name}-slow.log"
Data type: String[1]
Default value: 'php/fpm/pool.conf.erb'
Data type: Optional[Integer]
Default value: undef
Data type: Optional[Integer]
Default value: undef
Data type: Optional[Stdlib::Absolutepath]
Default value: undef
Data type: Optional[Stdlib::Absolutepath]
Default value: undef
Data type: Enum['yes', 'no']
Default value: 'no'
Data type: Optional[String[1]]
Default value: undef
Data type: Array[String[1]]
Default value: []
Data type: Hash
Default value: {}
Data type: Boolean
Default value: true
Data type: Hash
Default value: {}
Data type: Hash
Default value: {}
Data type: Hash
Default value: {}
Data type: Hash
Default value: {}
Data type: Hash
Default value: {}
Data type: Array[String[1]]
Default value: []
Data type: String[1]
Default value: $php::params::root_group
Data type: Optional[Stdlib::Absolutepath]
Default value: undef
Type: Ruby 3.x API
This function ensures a prefix for all elements in an array or the keys in a hash.
Examples:
ensure_prefix({'a' => 1, 'b' => 2, 'p.c' => 3}, 'p.')
Will return: { 'p.a' => 1, 'p.b' => 2, 'p.c' => 3, }
ensure_prefix(['a', 'p.b', 'c'], 'p.')
Will return: ['p.a', 'p.b', 'p.c']
This function ensures a prefix for all elements in an array or the keys in a hash.
Examples:
ensure_prefix({'a' => 1, 'b' => 2, 'p.c' => 3}, 'p.')
Will return: { 'p.a' => 1, 'p.b' => 2, 'p.c' => 3, }
ensure_prefix(['a', 'p.b', 'c'], 'p.')
Will return: ['p.a', 'p.b', 'p.c']
Returns: Any
Type: Ruby 3.x API
This function converts a +{key => value}+ hash into a nested hash and can add an id to the outer key. The optional id string as second parameter is prepended to the resource name.
Examples:
to_hash_settings({'a' => 1, 'b' => 2})
Would return: { 'a' => {'key' => 'a', 'value' => 1}, 'b' => {'key' => 'b', 'value' => 2} }
and:
to_hash_settings({'a' => 1, 'b' => 2}, 'foo')
Would return: { 'foo: a' => {'key' => 'a', 'value' => 1}, 'foo: b' => {'key' => 'b', 'value' => 2} }
This function converts a +{key => value}+ hash into a nested hash and can add an id to the outer key. The optional id string as second parameter is prepended to the resource name.
Examples:
to_hash_settings({'a' => 1, 'b' => 2})
Would return: { 'a' => {'key' => 'a', 'value' => 1}, 'b' => {'key' => 'b', 'value' => 2} }
and:
to_hash_settings({'a' => 1, 'b' => 2}, 'foo')
Would return: { 'foo: a' => {'key' => 'a', 'value' => 1}, 'foo: b' => {'key' => 'b', 'value' => 2} }
Returns: Any
The Php::ComposerChannel data type.
Alias of Enum['stable', 'preview', 'snapshot', '1', '2']
A duration in seconds are with an unit
Alias of Variant[Integer[0], Pattern[/^\d+[smhd]?$/]]
The Php::InstallOptions data type.
Alias of
Optional[Array[
Variant[
String,
Hash[String, String]
]
]]
The Php::Provider data type.
Alias of Enum['none', 'pecl', 'pear', 'dpkg', 'apt', 'yum', 'rpm', 'dnf', 'up2date', 'zypper', 'rug', 'freebsd', 'pkgng', 'ports', 'portupgrade']
The Php::Sapi data type.
Alias of Enum['ALL', 'cli', 'fpm', 'apache2']