Kaynağa Gözat

feat(ini) support different settings for php.ini

When php:version is a list, a dict with settings for different
versions can be added under ini key of cli and fpm:config keys

php:
  fpm:
    config:
      ini:
        settings:
          # global settings
        '5.6':
          # settings for 5.6 only
  cli:
    ini:
      settings:
        # global settings
      '5.6':
        # settings for 5.6 only
pull/210/head
Sergio Cambra 5 yıl önce
ebeveyn
işleme
cb985d6787
3 değiştirilmiş dosya ile 42 ekleme ve 3 silme
  1. +16
    -1
      php/cli/ini.sls
  2. +16
    -2
      php/fpm/config.sls
  3. +10
    -0
      pillar.example

+ 16
- 1
php/cli/ini.sls Dosyayı Görüntüle

@@ -17,11 +17,26 @@
{%- for version in pillar_php_version %}
{%- set first_version = pillar_php_version[0]|string %}
{%- set ini = php.lookup.cli.ini|replace(first_version, version) %}

{%- if version in php.cli.ini %}
{%- set settings_versioned = {} %}
{%- for key, value in settings.items() %}
{%- do settings_versioned.update({key: value.copy()}) %}
{%- endfor %}
{%- for key, value in php.cli.ini[version].items() %}
{%- if settings_versioned[key] is defined %}
{%- do settings_versioned[key].update(value) %}
{%- else %}
{%- do settings_versioned.update({key: value}) %}
{%- endif %}
{%- endfor %}
{%- endif %}

php_cli_ini_{{ version }}:
{{ php_ini(ini,
'php_cli_ini_' ~ version,
php.cli.ini.opts,
settings
settings_versioned | default(settings)
) }}
{%- endfor %}
{%- else %}

+ 16
- 2
php/fpm/config.sls Dosyayı Görüntüle

@@ -21,19 +21,33 @@
{%- set conf = php.lookup.fpm.conf|replace(first_version, version) %}
{%- set pools = php.lookup.fpm.pools|replace(first_version, version) %}

{%- if version in php.fpm.config.ini %}
{%- set ini_settings_versioned = {} %}
{%- for key, value in ini_settings.items() %}
{%- do ini_settings_versioned.update({key: value.copy()}) %}
{%- endfor %}
{%- for key, value in php.fpm.config.ini[version].items() %}
{%- if ini_settings_versioned[key] is defined %}
{%- do ini_settings_versioned[key].update(value) %}
{%- else %}
{%- do ini_settings_versioned.update({key: value}) %}
{%- endif %}
{%- endfor %}
{%- endif %}

{%- for key, value in conf_settings.items() %}
{%- if value is string %}
{%- do conf_settings.update({key: value.replace(first_version, version)}) %}
{%- endif %}
{%- endfor %}
{%- do conf_settings.global.update({'pid': '/var/run/php' + version + '-fpm.pid' }) %}
{%- do conf_settings.global.update({'pid': '/run/php/php' + version + '-fpm.pid' }) %}
{%- do conf_settings.global.update({'error_log': '/var/log/php' + version + '-fpm.log' }) %}

php_fpm_ini_config_{{ version }}:
{{ php_ini(ini,
'php_fpm_ini_config_' ~ version,
php.fpm.config.ini.opts,
ini_settings
ini_settings_versioned | default(ini_settings)
) }}

php_fpm_conf_config_{{ version }}:

+ 10
- 0
pillar.example Dosyayı Görüntüle

@@ -102,6 +102,11 @@ php:
engine: 'Off'
extension_dir: '/usr/lib/php/modules/'
extension: [pdo_mysql.so, iconv.so, openssl.so]
# if a list of versions is set in php:version, each version
# may have different settings
# '7.2':
# PHP:
# short_open_tag: 'On'

# options to manage the php-fpm conf file
conf:
@@ -169,6 +174,11 @@ php:
settings:
PHP:
engine: 'Off'
# if a list of versions is set in php:version, each version
# may have different settings
# '7.2':
# PHP:
# short_open_tag: 'On'

# php-xcache settings
xcache:

Yükleniyor…
İptal
Kaydet