Переглянути джерело

New state for managing the php.ini file.

tags/v0.34.0
Clayton Kramer 10 роки тому
джерело
коміт
cfe623fab4
4 змінених файлів з 246 додано та 0 видалено
  1. +2
    -0
      php/map.jinja
  2. +16
    -0
      php/ng/files/php.ini.jinja
  3. +12
    -0
      php/ng/ini.sls
  4. +216
    -0
      php/ng/map_ng.jinja

+ 2
- 0
php/map.jinja Переглянути файл

@@ -23,6 +23,7 @@
'adodb_pkg': 'php5-adodb',
'pgsql_pkg': 'php5-pgsql',
'ldap_pkg': 'php5-ldap',
'php_ini': '/etc/php5/apache2/php.ini',
},
'RedHat': {
'php_pkg': 'php',
@@ -48,5 +49,6 @@
'adodb_pkg': 'php-adodb',
'pgsql_pkg': 'php-pgsql',
'ldap_pkg': 'php-ldap',
'php_ini': '/etc/php.ini',
},
}, merge=salt['pillar.get']('php:lookup')) %}

+ 16
- 0
php/ng/files/php.ini.jinja Переглянути файл

@@ -0,0 +1,16 @@
; This file is managed by Salt, do not edit
;
{%- for section, settings in config|dictsort %}
[{{ section }}]
{%- for setting, value in settings|dictsort %}
{% if value is number or value is string -%}
{{ setting }} = {{ value }}
{%- elif value is iterable -%}
{%- if setting == 'error_reporting' %}
{{ setting }} = {{ value|join(" & ") }}
{%- else -%}
{{ setting }} = {{ value|join(",") }}
{%- endif -%}
{%- endif %}
{%- endfor %}
{% endfor %}

+ 12
- 0
php/ng/ini.sls Переглянути файл

@@ -0,0 +1,12 @@
{% from "php/ng/map_ng.jinja" import php with context %}

php-ini:
file.managed:
- name: {{ php.lookup.php_ini }}
- source: salt://php/ng/files/php.ini.jinja
- user: root
- group: root
- mode: 644
- template: jinja
- context:
config: {{ php.ini_settings }}

+ 216
- 0
php/ng/map_ng.jinja Переглянути файл

@@ -0,0 +1,216 @@
{% set php = {
'lookup': salt['grains.filter_by']({
'Debian': {
'php_pkg': 'php5',
'apc_pkg': 'php-apc',
'cgi_pkg': 'php5-cgi',
'cli_pkg': 'php5-cli',
'curl_pkg': 'php5-curl',
'fpm_pkg': 'php5-fpm',
'gd_pkg': 'php5-gd',
'mbstring_pkg': 'php5',
'mcrypt_pkg': 'php5-mcrypt',
'memcache_pkg': 'php5-memcache',
'memcached_pkg': 'php5-memcached',
'mysql_pkg': 'php5-mysql',
'mysqlnd_pkg': 'php5-mysqlnd',
'pear_pkg': ' php-pear',
'soap_pkg': ' php-soap',
'fpm_service': 'php5-fpm',
'xml_pkg': ' php5-xml',
'imagick_pkg': 'php5-imagick',
'suhosin_pkg': 'php5-suhosin',
'imap_pkg': 'php5-imap',
'adodb_pkg': 'php5-adodb',
'pgsql_pkg': 'php5-pgsql',
'ldap_pkg': 'php5-ldap',
'php_ini': '/etc/php5/apache2/php.ini',
},
'RedHat': {
'php_pkg': 'php',
'apc_pkg': 'php-pecl-apc',
'cgi_pkg': 'php-cgi',
'cli_pkg': 'php-cli',
'curl_pkg': 'curl',
'fpm_pkg': 'php-fpm',
'gd_pkg': 'php-gd',
'mbstring_pkg': 'php-mbstring',
'mcrypt_pkg': 'php-mcrypt',
'memcache_pkg': 'php-pecl-memcache',
'memcached_pkg': 'php-pecl-memcached',
'mysql_pkg': 'php-mysql',
'mysqlnd_pkg': 'php-mysqlnd',
'pear_pkg': ' php-pear',
'soap_pkg': ' php-soap',
'fpm_service': 'php-fpm',
'xml_pkg': ' php-xml',
'imagick_pkg': 'php-imagick',
'suhosin_pkg': 'php-suhosin',
'imap_pkg': 'php-imap',
'adodb_pkg': 'php-adodb',
'pgsql_pkg': 'php-pgsql',
'ldap_pkg': 'php-ldap',
'php_ini': '/etc/php.ini',
},
}, merge=salt['pillar.get']('php:lookup')),
'ini_settings': salt['pillar.get']('php:ini_settings', {
'PHP': {
'engine': 'On',
'short_open_tag': 'Off',
'asp_tags': 'Off',
'precision': 14,
'output_buffering': 4096,
'zlib.output_compression': 'Off',
'implicit_flush': 'Off',
'serialize_precision': 17,
'disable_functions': ['pcntl_alarm','pcntl_fork','pcntl_waitpid','pcntl_wait','pcntl_wifexited','pcntl_wifstopped','pcntl_wifsignaled',
'pcntl_wexitstatus','pcntl_wtermsig','pcntl_wstopsig','pcntl_signal','pcntl_signal_dispatch','pcntl_get_last_error','pcntl_strerror',
'pcntl_sigprocmask','pcntl_sigwaitinfo','pcntl_sigtimedwait','pcntl_exec','pcntl_getpriority','pcntl_setpriority'],
'zend.enable_gc': 'On',
'expose_php': 'On',
'max_execution_time': 30,
'max_input_time': 60,
'max_input_nesting_level': 64,
'max_input_vars': 1000,
'memory_limit': '128M',
'error_reporting': ['E_ALL', '~E_DEPRECATED', '~E_STRICT'],
'display_errors': 'Off',
'display_startup_errors': 'Off',
'log_errors': 'On',
'log_errors_max_len': 1024,
'ignore_repeated_errors': 'Off',
'ignore_repeated_source': 'Off',
'report_memleaks': 'On',
'track_errors': 'Off',
'html_errors': 'On',
'variables_order': 'GPCS',
'request_order': 'GP',
'register_argc_argv': 'Off',
'auto_globals_jit': 'On',
'post_max_size': '8M',
'default_mimetype': '"text/html"',
'enable_dl': 'Off',
'file_uploads': 'On',
'upload_max_filesize': '2M',
'max_file_uploads': 20,
'allow_url_fopen': 'On',
'allow_url_include': 'Off',
'default_socket_timeout': 60
},
'CLI Server': {
'cli_server.color': 'On'
},
'Date': {
'date.timezone': 'America/New_York'
},
'Pdo_mysql': {
'pdo_mysql.cache_size': 2000
},
'mail function': {
'SMTP': 'localhost',
'mail.add_x_header': 'On'
},
'SQL': {
'sql.safe_mode': 'Off'
},
'ODBC': {
'odbc.allow_persistent': 'On',
'odbc.check_persistent': 'On',
'odbc.max_persistent': '-1',
'odbc.max_links': '-1',
'odbc.defaultlrl': 4096,
'odbc.defaultbinmode': 1
},
'Interbase': {
'ibase.allow_persistent': 1,
'ibase.max_persistent': -1,
'ibase.max_links': -1,
'ibase.timestampformat': '"%Y-%m-%d %H:%M:%S"',
'ibase.dateformat': '"%Y-%m-%d"',
'ibase.timeformat': '"%H:%M:%S"'
},
'MySQL': {
'mysql.allow_local_infile': 'On',
'mysql.allow_persistent': 'On',
'mysql.cache_size': '2000',
'mysql.max_persistent': -1,
'mysql.max_links': -1,
'mysql.connect_timeout': 60,
'mysql.trace_mode': 'Off'
},
'MySQLi': {
'mysqli.max_persistent': -1,
'mysqli.allow_persistent': 'On',
'mysqli.max_links': -1,
'mysqli.cache_size': 2000,
'mysqli.default_port': 3306,
'mysqli.reconnect': 'Off'
},
'mysqlnd': {
'mysqlnd.collect_statistics': 'On',
'mysqlnd.collect_memory_statistics': 'Off'
},
'PostgreSQL': {
'pgsql.allow_persistent': 'On',
'pgsql.auto_reset_persistent': 'Off',
'pgsql.max_persistent': -1,
'pgsql.max_links': -1,
'pgsql.ignore_notice': 0,
'pgsql.log_notice': 0
},
'Sybase-CT': {
'sybct.allow_persistent': 'On',
'sybct.max_persistent': -1,
'sybct.max_links': -1,
'sybct.min_server_severity': 10,
'sybct.min_client_severity': 10
},
'bcmath': {
'bcmath.scale': 0
},
'Session': {
'session.save_handler': 'files',
'session.use_strict_mode': 0,
'session.use_cookies': 1,
'session.use_only_cookies': 1,
'session.name': 'PHPSESSID',
'session.auto_start': 0,
'session.cookie_lifetime': 0,
'session.cookie_path': '/',
'session.serialize_handler': 'php',
'session.gc_probability': 0,
'session.gc_divisor': 1000,
'session.gc_maxlifetime': 1440,
'session.bug_compat_42': 'Off',
'session.bug_compat_warn': 'Off',
'session.cache_limiter': 'nocache',
'session.cache_expire': '180',
'session.use_trans_sid': 0,
'session.hash_function': 0,
'session.hash_bits_per_character': 5,
'url_rewriter.tags': '"a=href,area=href,frame=src,input=src,form=fakeentry"'
},
'MSSQL': {
'mssql.allow_persistent': 'On',
'mssql.max_persistent': -1,
'mssql.max_links': -1,
'mssql.min_error_severity': 10,
'mssql.min_message_severity': 10,
'mssql.compatibility_mode': 'Off',
'mssql.secure_connection': 'Off'
},
'Tidy': {
'tidy.clean_output': 'Off'
},
'soap': {
'soap.wsdl_cache_enabled': 1,
'soap.wsdl_cache_dir': '"/tmp"',
'soap.wsdl_cache_ttl': 86400,
'soap.wsdl_cache_limit': 5
},
'ldap': {
'ldap.max_links': -1
}
}, merge=True)

}%}

Завантаження…
Відмінити
Зберегти