File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 6262 $package ,
6363 $provider = undef ,
6464 $pipe = undef ,
65- $source = undef
65+ $source = undef ,
66+ $sapis = [' cli' , ' fpm' , ' apache2' ],
67+ $priority = 20,
6668) {
6769
6870 if $provider == ' pecl' {
7274 source => $source ,
7375 pipe => $pipe ;
7476 }
77+ $uniqe_sapis = suffix($sapis , $package )
78+ php::sapi { $uniqe_sapis:
79+ extension => $package ,
80+ ensure => $ensure ,
81+ priority => $priority ,
82+ require => Package[$package ],
83+ }
7584 } elsif $provider == ' dpkg' {
7685 package { $package:
7786 ensure => $ensure ,
Original file line number Diff line number Diff line change 1+ define php::extension::disenable (
2+ $extension ,
3+ $ensure = ' present' ,
4+ $priority = 20,
5+ ) {
6+
7+ $sapi = delete($title , $extension )
8+
9+ Exec {
10+ # fact that php5-common does not guarantee that extension is installed
11+ require => Package[$extension ],
12+ # default path minus games
13+ path => ' /bin:/usr/bin:/usr/local/bin: /sbin:/usr/sbin:/usr/local/sbin' ,
14+ }
15+
16+ validate_re($ensure , ' ^(latest|present|installed|absent)$' )
17+ # no need for qualified since path is defined
18+ $command = $ensure ? {
19+ ' absent' => ' php5dismod' ,
20+ default => ' php5enmod'
21+ }
22+ # same as above
23+ $unless = $ensure ? {
24+ ' absent' => ' test ! -e' ,
25+ default => ' test -e' ,
26+ }
27+ # regex is idempotent. no changes will be made if there is a space after semicolon already
28+ exec { "priority_${sapi}_${extension}" :
29+ command => " sed -ie 's/^;priority/; priority/g' /etc/php5/mods-available/${extension} .ini" ,
30+ onlyif => " test -e /etc/php5/mods-available/${extension} .ini" ,
31+ }
32+ # extension class should be responsible for service notification
33+ exec { "${command} -s ${sapi} ${extension}" :
34+ unless => " ${unless} /etc/php5/${sapi} /conf.d/${priority} -${extension} .ini" ,
35+ require => Exec[" priority_${sapi} _${extension} " ]
36+ }
37+
38+ }
Original file line number Diff line number Diff line change 1+ define php::sapi (
2+ $extension ,
3+ $ensure ,
4+ $priority ,
5+ ) {
6+ case $title {
7+ " fpm${extension} " : {
8+ if defined (Service[$php::fpm::params::service_name ]) {
9+ $disenable = $title
10+ }
11+ }
12+ " apache2${extension} " : {
13+ if defined (Package[$php::apache::params::package ]) {
14+ $disenable = $title
15+ }
16+ }
17+ " cli${extension} " : {
18+ $disenable = $title
19+ }
20+ default: {}
21+ }
22+
23+ unless empty($disenable ) {
24+ php::extension::disenable { $disenable:
25+ extension => $extension ,
26+ ensure => $ensure ,
27+ priority => $priority ,
28+ }
29+ }
30+ }
You can’t perform that action at this time.
0 commit comments