Identify whether PHP extension ctype installation is idempotent
Identify whether PHP extension iconv installation is idempotent
Identify whether PHP extension xmlreader installation is idempotent
Identify whether PHP extension posix installation is idempotent
Identify whether PHP extension dom installation is idempotent
Identify whether PHP extension xmlwriter installation is idempotent
Identify whether PHP extension imagick installation is idempotent
Following https://github.com/puppetlabs/puppetlabs-apache/pull/1749#issuecomment-358125758, I adapted to puppet-php.
For now it is just part of settings, not sure if it should be differentiated.
Risk: users silently overwriting it vs potential post-adaption needed
Potentially more settings to add.
If php::settings
are changed and Apaches mod_php
is used the Apache httpd must be restarted to re-read the config files.
This PR adds an option to identify the name of the Puppet Service resource to enable a restart of Apache httpd.
<!--
Thank you for contributing to this project!
-->
Allow configuration files to be purged.
Not directly releated but similar to https://github.com/voxpupuli/puppet-php/issues/237
No existing issue was created, we had a need for this functionality so we added it to our fork. Looking to contribute it back.
Adding the option to set process.dumpable
If process.dumpable
is disabled core dumps cannot be captured on segfaults even if rlimit_core
is set because of the following change to PHP:
Follow-up on #611 implementing listen.?
parameters as arrays instead of strings.
By default, when the module install composer, it use https://getcomposer.org/composer.phar
It install the latest preview from nighty build of the dev main repository.
I have set a case that allow to download the right version of composer depending from the channel selected. By default, it use the latest stable.
No issue
<!--
Thank you for contributing to this project!
-->
Allow sury repo for PHP >= 7.1.
<!--
Replace this comment with the list of issues or n/a.
Use format:
Fixes #123
Fixes #124
-->
Currently the class php::repo::redhat is hardcoded to create only the remi56 repo. This request removes that static value and creates based on $yumrepo. This allows for other versions such as remiphp72, etc..
Enhance acceptance tests
(TODO)
This PR prevents the creation of the hardcoded pid file directory if it is not used.
Fixes #501
I wanted to contribute back the info I got from #586 and I think this should do it :)
Update readme with more info on using the Ondřej PPAs.
N/A
<!--
Thank you for contributing to this project!
-->
<!--
Adding php 7 support for RHEL variants via remi repositories.
PHP version can now be defined using the global php_version variable for RHEL variants.
Support for PHP 7.0, 7.1 and 7.2 added.
-->
<!--
Replace this comment with the list of issues or n/a.
Use format:
Fixes #123
Fixes #124
-->
<!--
Thank you for contributing to this project!
-->
<!--
Replace this comment with a description of your pull request.
-->
Download stable version of composer as opposed to snapshot
<!--
Replace this comment with the list of issues or n/a.
Use format:
Fixes #123
Fixes #124
-->
Fixes #575
enable configuring 'listen.aclusers' and 'listen.aclgroups' by adding that option to pool template
Fixes #607
I am using php7.4 from sury on debian 10.
After every server reboot, this module creates the /var/run/php-fpm
directory (which is not used by php-fpm) and triggers a reload, which resets all open connections to the php-fpm daemon.
This PR added an option to disable the managing of the /var/run/php-fpm
directory
Allows for PHP FPM pool settings to be configured as environment variables (pm_max_children => '${PM_MAX_CHILDREN}'
) in addition to their existing typed formats.
I debated about the best way to add this, and ended up adding Variant
types, along with a single custom type. I did this because there were varying types (Integer[0], Integer[1], Php::Duration
) that I didn't want to have to duplicate.
The env based configuration applies to every setting, but for right now I've added it to the most common ones where due to the stricter validation, it would previously fail.
Fixes #649
beaker-vagrant
to gemfile (see details in commit message for why)Note: This changes the default version string of $php::globals::globals_php_version
from 5.x
to 5.6
on non-Debian/Ubuntu because we really should use sane version strings in such variables so we can re-use them elsewhere (like in php::repo::redhat
for remi repo). I anticipate the versioning in php::globals
will be cleaned up eventually. (I'll volunteer too.) It doesn't look like this change will have any adverse effects.
If merged, this PR obsoletes the following PRs: (Sorry, I'm impatient and they don't look like they're going anywhere)
- https://github.com/voxpupuli/puppet-php/pull/495
- https://github.com/voxpupuli/puppet-php/pull/509
Fixes #480
See https://github.com/voxpupuli/puppet-php/issues/581
In short, replaces all explicit definitions of a Puppet Package resource
with an instance of puppetlabs-stdlib's ensure_packages.
<!--
Thank you for contributing to this project!
-->
Use the puppetlabs-stdlib ensure_packages
function instead of Puppet package {}
resources directly to avoid conflicting with other definitions of the package.
Fixes #581
This PR adds support for ZendPHP on its supported platforms.
This is accomplished by adding two parameters to php::globals
:
puppet
class { '::php::globals':
php_version => '8.1',
flavor => 'zend',
}->
class { '::php':
fpm => true,
fpm_pools => {
www => {
listen => "127.0.0.1:9000",
},
}
}
puppet
class { '::php::globals':
php_version => '5.6',
flavor => 'zend',
zend_creds => {
'username' => '<USERNAME>',
'password' => '<PASSWORD>',
},
}->
class { '::php':
fpm => true,
fpm_pools => {
www => {
listen => "127.0.0.1:9000",
},
}
}
Identify whether PHP extension apcu installation is idempotent
We noticed that your Puppet module includes Puppet 3.x function(s) and created
this pull request to help you get started porting them to the new API.
The Puppet function API has a long history and many people in the ecosystem,
including you, took advantage of this API to extend Puppet to do some really
cool things. Unfortunately the original function API had many critical
limitations, and so Puppet introduced a new and improved API with Puppet 4.x.
Each modern Puppet 4.x function is just a little faster and just a little safer
to use, meaning that as we all port our functions over, compilation times across
the ecosystem will get more and more performant. Modern Puppet 4.x functions
have improved thread safety, memory management, and load time. Even more
importantly, they’re isolated to the environment they’re loaded from.
And as a developer, you'll see benefits like namespaced function signatures,
automatic data type checking, multiple dispatches allowing you to easily handle
different kinds of function invocations, and vastly improved code reuse.
This pull request was autogenerated and the ported functions do not yet take
advantage of the data type checking or multiple dispatches. You will want to
finish the port by making those changes and adding any documentation updates.
See this tutorial for more information.
While you're at it, double check to see if there are any functions that couldn't
be automatically ported and update them yourself.
To be extra cautious about losing data, this pull request did NOT delete the
legacy function files, so when you're satisfied with the new functions, don't
forget to delete the legacy code!
If this repo is a fork, when you're all done, you might consider contributing
your work upstream.
If you have any questions, feel free to ping me in this PR, or stop by the
Puppet Community Slack to chat. And thanks so much
for being part of our vibrant community of developers!
This PR adds validation check for fpm and fpm pools configuration file before applying changes.
Having introduced a misconfiguration on php-fpm that avoid the service to start normally (pm.start_servers
> pm.max_spare_servers
), catalog application was successfull but service failed to restart.
[13-Feb-2020 20:48:24] ALERT: [pool www] pm.start_servers(80) must not be less than pm.min_spare_servers(24) and not greater than pm.max_spare_servers(64)
[13-Feb-2020 20:48:24] ERROR: failed to post process the configuration
modulesync 5.4.0
instead of hardcoding the paths for the log- and runtime directory, calculate them based on the errorlog and pidfile params respectively. the directories will not be managed if they are shared system locations like /var/log
or /run
(this is checked by ensuring the directories have php in their name, signalling that those are paths dedicated to PHP)
<!--
Thank you for contributing to this project!
-->
<!--
Replace this comment with a description of your pull request.
-->
<!--
Replace this comment with the list of issues or n/a.
Use format:
Fixes #123
Fixes #124
-->
This fixes the pecl
provider autoloading the pear
provider. On Puppet 4.9.4, I get the following error:
Puppet::Error:
Could not autoload puppet/type/package: Could not autoload puppet/provider/package/pecl: cannot load such file -- puppet/provider/pear
It doesn't seem to happen on Puppet 3. This is fixed by requiring pear
explicitly in the pecl
provider code.
The documentation for php::packages::names_to_prefix
suggests that the module will add php::package_prefix
to the beginning of the listed package names. However, since the prefix()
function is in the parameter default, the prefix is only applied to the default value (php::params::common_package_suffixes
) rather than to user-defined php::packages::names_to_prefix
. This commit fixes that behavior, so that either the default or user-defined php::packages::names_to_prefix
will have prefixes added by the module.
n/a
current redhat.pp will add wrong .repo files to new redhat and almalinux (8 and 9) systems. You run into a 404 by default with this redhat.pp
Now we check the releaseversion, and if you run a AlmaLinux or Redhat System in version 8 or 9, you will not receive the remi-php56.repo file, because there is no existing repo url.
Cheers
Christian