Code Monkey home page Code Monkey logo

ansible-php's Introduction

php

Ansible role which helps to install and configure PHP and PHP extensions.

The configuration of the role is done in such way that it should not be necessary to change the role for any kind of configuration. All can be done either by changing role parameters or by declaring completely new configuration as a variable. That makes this role absolutely universal. See the examples below for more details.

Please report any issues or send PR.

Examples

---

# Example of how to use the role with default parameters
- hosts: myhost1
  roles:
    - php

# Example of how to configure a PHP extension
- hosts: myhost2
  vars:
    php_extensions_config:
      zabbix:
        # This actually overrides the php.ini configuration
        PHP:
          post_max_size: 16M
          max_execution_time: 300
          max_input_time: 300
        date:
          date.timezone: UTC
  roles:
    - php

Role variables

Variables used by the role is as follows:

# Whether to install EPEL YUM repo
php_epel_yumrepo_install: "{{ yumrepo_epel_install | default(false) }}"

# EPEL YUM repo URL
php_epel_yumrepo_url: "{{ yumrepo_epel_url | default('https://dl.fedoraproject.org/pub/epel/$releasever/$basearch/') }}"

# EPEL YUM repo GPG key
php_epel_yumrepo_gpgkey: "{{ yumrepo_epel_gpgkey | default('https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-$releasever') }}"

# Additional EPEL params
php_epel_yumrepo_params: "{{ yumrepo_epel_params | default({}) }}"

# Whether to install the SCL YUM repo
php_scl_yumrepo_install: no

# SCL YUM repo URL
php_scl_yumrepo_url: http://mirror.centos.org/centos/$releasever/sclo/$basearch/rh/

# Additional SCL YUM repo params
php_scl_yumrepo_params: {}

# Package to be installed (explicit version can be specified here)
php_pkg: php

# Exptensions prefix (set it to null to use no prefix)
php_extensions_prefix: php

# Extensions packages to be installed
php_extensions_pkgs: []
# Example:
#php_extensions_pkgs:
#  - gd
#  - xml

# Default path to the php.ini file
php_config_file: /etc/php.ini

# Default path to the php.d directory
php_config_dir: /etc/php.d

# Default php.ini config (will be skipped if set to null)
php_config: null
# Example:
#php_config:
#  PHP:
#    engine: "On"
#    short_open_tag: "Off"
#    asp_tags: "Off"
#    precision: 14
#    y2k_compliance: "On"
#    output_buffering: 4096
#    zlib.output_compression: "Off"
#    implicit_flush: "Off"
#    unserialize_callback_func: ""
#    serialize_precision: 100
#    allow_call_time_pass_reference: "Off"
#    safe_mode: "Off"
#    safe_mode_gid: "Off"
#    safe_mode_include_dir: ""
#    safe_mode_exec_dir: ""
#    safe_mode_allowed_env_vars: PHP_
#    safe_mode_protected_env_vars: LD_LIBRARY_PATH
#    disable_functions: ""
#    disable_classes: ""
#    expose_php: "On"
#    max_execution_time: 30
#    max_input_time: 60
#    memory_limit: 128M
#    error_reporting: E_ALL & ~E_DEPRECATED
#    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: "Off"
#    variables_order: GPCS
#    request_order: GP
#    register_globals: "Off"
#    register_long_arrays: "Off"
#    register_argc_argv: "Off"
#    auto_globals_jit: "On"
#    post_max_size: 8M
#    magic_quotes_gpc: "Off"
#    magic_quotes_runtime: "Off"
#    magic_quotes_sybase: "Off"
#    auto_prepend_file: ""
#    auto_append_file: ""
#    default_mimetype: text/html
#    doc_root: ""
#    user_dir: ""
#    enable_dl: "Off"
#    file_uploads: "On"
#    upload_max_filesize: 2M
#    allow_url_fopen: "On"
#    allow_url_include: "Off"
#    default_socket_timeout: 60
#  Date: {}
#  filter: {}
#  iconv: {}
#  intl: {}
#  sqlite: {}
#  sqlite3: {}
#  Pcre: {}
#  Pdo: {}
#  Phar: {}
#  Syslog:
#    define_syslog_variables: "Off"
#  mail function:
#    SMTP: localhost
#    smtp_port: 25
#    sendmail_path: /usr/sbin/sendmail -t -i
#    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
#  MySQL:
#    mysql.allow_persistent: "On"
#    mysql.max_persistent: -1
#    mysql.max_links: -1
#    mysql.default_port: ""
#    mysql.default_socket: ""
#    mysql.default_host: ""
#    mysql.default_user: ""
#    mysql.default_password: ""
#    mysql.connect_timeout: 60
#    mysql.trace_mode: "Off"
#  MySQLi:
#    mysqli.max_links: -1
#    mysqli.default_port: 3306
#    mysqli.default_socket: ""
#    mysqli.default_host: ""
#    mysqli.default_user: ""
#    mysqli.default_pw: ""
#    mysqli.reconnect: "Off"
#  PostgresSQL:
#    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
#  browscap: {}
#  Session:
#    session.save_handler: files
#    session.save_path: /var/lib/php/session
#    session.use_cookies: 1
#    session.use_only_cookies: 1
#    session.name: PHPSESSID
#    session.auto_start: 0
#    session.cookie_lifetime: 0
#    session.cookie_path: /
#    session.cookie_domain: ""
#    session.cookie_httponly: ""
#    session.serialize_handler: php
#    session.gc_probability: 1
#    session.gc_divisor: 1000
#    session.gc_maxlifetime: 1440
#    session.bug_compat_42: "Off"
#    session.bug_compat_warn: "Off"
#    session.referer_check: ""
#    session.entropy_length: 0
#    session.entropy_file: ""
#    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.compatability_mode: "Off"
#    mssql.secure_connection: "Off"
#  Assertion: {}
#  COM: {}
#  mbstring: {}
#  gd: {}
#  exif: {}
#  Tidy:
#    tidy.clean_output: "Off"
#  soap:
#    soap.wsdl_cache_enabled: 1
#    soap.wsdl_cache_dir: /tmp
#    soap.wsdl_cache_ttl: 86400
#  sysvshm: {}

# Extensions configurations
php_extensions_config: {}
# Example:
#php_extensions_config:
#  gd:
#    extension: gd.so
#  xmlreader:
#    extension: xmlreader.so
#  xmlwriter:
#    extension: xmlwriterr.so

Dependencies

License

MIT

Author

Jiri Tyr

ansible-php's People

Contributors

jtyr avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.