chusiang.php7

Ansible Rolle: PHP 7 (PHP-FPM)

Build Status Release Star Fork License Ansible Galaxy Docker Hub

Eine Ansible-Rolle zur Bereitstellung von PHP 7 (php-fpm) für Nginx. (abgeleitet von itcraftsmanpl.php7)

  • Aktuelle PHP7-Version:

    • Debian & Ubuntu: 7.1.30
    • CentOS: 7.1.30
  • Unterstützte Linux-Distributionen:

    1. Ubuntu 18.04 (bionic)
    2. Ubuntu 16.04 (xenial)
    3. Debian 8 (jessie)
    4. Debian 9 (stretch)
    5. CentOS 6
    6. CentOS 7

Anforderungen

Keine.

Rollenvariablen

Die verfügbaren Variablen sind unten aufgeführt, zusammen mit Standardwerten (siehe defaults/main.yml):

#######
# Alle #
#######

# Nur für Debugging.
debug_mode: false

# allow_url_fopen
#   Standardwert: Ein
php_allow_url_fopen: "Aus"

php_disable_functions: "exec,passthru,shell_exec,system,proc_open,popen"
php_display_errors: "Aus"
php_error_reporting: "E_ALL & ~E_DEPRECATED & ~E_STRICT"

# Deaktivieren der Anzeige der PHP-Version.
#   Standardwert: Ein
php_expose_php: 'Aus'

php_memory_limit: "1024M"
php_opcache_enable: 1
php_opcache_revalidate_freq: 0
php_post_max_size: "20M"
php_serialize_precision: 17
php_session_cookie_httponly: 1
php_session_use_strict_mode: 1
php_soap_wsdl_cache_dir: '/php/cache/wsdl'
php_timezone: "Asia/Taipei"
php_upload_max_filesize: "20M"
php_upload_tmp_dir: "/php/cache/upload_tmp"

# Hinweis: Wir müssen 'www-data' auf Debian 8 verwenden.
php_owner: 'www-data'
php_group: 'www-data'

###################
# Debian & Ubuntu #
###################

debian_php7_apt_repo: "http://packages.dotdeb.org"
debian_php7_apt_key: "https://www.dotdeb.org/dotdeb.gpg"
ubuntu_php7_ppa_repo: "ppa:ondrej/php"

# Ein Schalter, um das Drittanbieter-Repository zu aktivieren oder zu deaktivieren.
#
#  true: offizielle Repository verwenden.
#  false: Drittanbieter-Repository verwenden.
apt_php_third_party_repo: true

apt_php_version: "7.1"

apt_php_packages:
  - php{{ apt_php_version }}
  - php{{ apt_php_version }}-cgi
  - php{{ apt_php_version }}-cli
  - php{{ apt_php_version }}-common
  - php{{ apt_php_version }}-curl
  - php{{ apt_php_version }}-fpm
  - php{{ apt_php_version }}-gd
  - php{{ apt_php_version }}-intl
  - php{{ apt_php_version }}-json
  - php{{ apt_php_version }}-mysql
  #- php{{ apt_php_version }}-pear

##########
# CentOS #
##########

yum_php_version: "71u"

yum_php_packages:
  - php{{ yum_php_version }}-cli
  - php{{ yum_php_version }}-common
  - php{{ yum_php_version }}-fpm
  - php{{ yum_php_version }}-fpm-nginx
  - php{{ yum_php_version }}-json
  - php{{ yum_php_version }}-mysqlnd
  - php{{ yum_php_version }}-opcache
  - php{{ yum_php_version }}-pdo
 #- php{{ yum_php_version }}-mbstring
 #- php{{ yum_php_version }}-pear

# PHP-FPM FastCGI.
centos_php_fastcgi_listen: "/run/php-fpm/www.sock"
centos_nginx_fastcgi_server: "unix:{{ centos_php_fastcgi_listen }}"

Hinweis

  1. Wenn Sie eine Fehlermeldung sehen, müssen Sie möglicherweise php_owner und php_group von nginx auf www-data ändern.

    • Browser:

      Ein Fehler ist aufgetreten.

    • error.log:

      connect() to unix:/var/run/php/php7.0-fpm.sock fehlgeschlagen (13: Berechtigung verweigert) beim Verbinden mit dem Upstream ...

  2. Der /target/path/ des Sockets, der Konfigurationsdateien unterscheidet sich zwischen Ubuntu und CentOS. Sehen Sie sich Ihre Nginx-Einstellungen genau an!

    • Debian & Ubuntu:

      • Konfiguration:
        • /etc/php/7.0/fpm/php.ini
        • /etc/php/7.0/cli/php.ini
      • Socket: /var/run/php/php7.0-fpm.sock
    • CentOS:

      • Konfiguration:
        • /etc/php-fpm.d/www.conf
        • /etc/php.ini
      • Socket: /run/php-fpm/www.sock
  3. Wir haben die Variable apt_php_third_party_repo hinzugefügt, um das Drittanbieter-Repository zu aktivieren oder zu deaktivieren (nach v1.3.6).

    • true: Drittanbieter-Repository verwenden.
    • false: Debian / Ubuntu offizielles Repository verwenden.

Abhängigkeiten

Keine.

Wenn Sie Nginx einrichten müssen, können Sie die williamyeh.nginx Rolle verwenden.

Beispiel-Playbook

- hosts: webservers
  roles:
    - { role: chusiang.php7 }

Docker-Container

Dieses Repository enthält Dockerisierte Ansible, die über den öffentlichen Docker Hub mit dem automatisierten Build-Mechanismus veröffentlicht wurden.

Docker Hub: chusiang/php7

Images

  • chusiang/php7:ubuntu-16.04 (neueste)
  • chusiang/php7:ubuntu-14.04
  • chusiang/php7:centos6 (EOL)

Verwendung

$ docker run -it -v /src:/data chusiang/php7:ubuntu14.04 bash
[root@a68e807eec8f tmp]# php -v
PHP 7.0.7 (cli) (gebaut: 31. Mai 2016 11:36:12) ( NTS )
Copyright (c) 1997-2016 Die PHP-Gruppe
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
    mit Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, von Zend Technologies

Geschichte

  • 2019/05/04 Unterstützung für Ubuntu 14.04 eingestellt. #24

Lizenz

MIT-Lizenz (2015 - 2018). Siehe die LICENSE-Datei für Details.

Autor Informationen

  1. itcraftsmanpl (Arkadiusz Kondas)
  2. chusiang (Chu-Siang Lai)
Über das Projekt

Deploy PHP 7 (php-fpm) for nginx on Ubuntu, Debian and CentOS. (forked from itcraftsmanpl.php7)

Installieren
ansible-galaxy install chusiang.php7
Lizenz
mit
Downloads
2.3k
Besitzer
A system engineer, like @DevOpsTW, @ansible-tw, @vim-tw, docker and @linux-taiwan. Hope one day can build a "🦄 Unicorn company" like《The Phoenix Project》.