PHP-FPM 7.x selber bauen

Wer kennt das Problem nicht, das eingesetzte Linux liefert via Paketmanager nicht die benötigte PHP Version mit. Fremde Quellen möchte man auch ungern einbinden. Also warum nicht von php.net die aktuelle Version herunterladen und selber bauen?

Mit diesem Script könnt ihr im Handumdrehen die neuste PHP-FPM Version installieren und aktuell halten.

Punkt 1: Scripte herunterladen

Das Script wurde von mir unter Debian 9, Ubuntu 18.04 LTS und CentOS 7 mit PHP 7.3 und 7.4 getestet.

Ihr könnt mittels git das Repository klonen

oder alternativ direkt herunterladen

Punkt 2: Erklärung der autobuild_php.sh

Folgende Features verbergen sich im Script die ansonst manuell ausgeführt werden müssten.

  • Abhängigkeiten für die verschiedenen Distributionen werden installiert
  • PHP-FPM wird nach /opt/php-7.3 installiert
  • Die Source liegt im Ordner /usr/local/src/php7.3-build
  • Der Archive Download erfolgt nur von der offiziellen Seite https://www.php.net
  • Gebaut wird mit 4 CPU Kernen
  • Die Hauptkonfiguration wird kopiert /opt/php-7.3/etc/php-fpm.conf, pid und error_log werden aktiviert
  • In der Pool Konfiguration /opt/php-7.3/etc/php-fpm.d/www.conf wird listen auf 127.0.0.1:9073 gestellt (da Port 9000 eher vergeben sein könnte)
  • Die /opt/php-7.3/lib/php.ini wird optimiert
  • Eine Systemd Unit wird erstellt /etc/systemd/system/php7.3-fpm.service
  • Weitere nützliche PHP Module php-redis, php-apcu und php-imagick werden gebaut und installiert
  • Die Dienste redis-server.service und php7.3-fpm.service werden aktiviert und gestartet

Die Update Funktion im Script ist wie folgt unterteilt:

  • Zuerst wird die installierte PHP-FPM Version geprüft
  • Sollte auf php.net ein neuere Version existieren, wird eine Eingabe „y/n“ gefordert
  • PHP-FPM 7.x wird in den Ordner /opt/php-7.3 aktualisiert
  • Die PHP Module php-redis, php-apcu und php-imagick werden ebenfalls aktualisiert
  • Der Dienst php7.3-fpm.service wird neu gestartet

Punkt 3: Installation

Wir führen das Script aus und installieren PHP-FPM, es wird immer die Current Stable von https://www.php.net/downloads.php installiert.

Wir warten….

Es sollte am Ende die Versionsnummer sowie die Erweiterungen ausgegeben werden.

Punkt 4: Update

Es kann manuell geprüft werden ob eine neue Version verfügbar ist.

Ergebnis stand 08.07.2019:

Punkt 5: Update Überprüfung

Wer möchte kann täglich auf Updates überprüfen und per E-Mail informiert werden. Voraussetzung ist ein konfigurierter Mail-Dienst!

Alternativ gibt es auch ein Nagios Plugin.

Punkt 6: Fertig

Nun sollte die neue Version laufen.

 

UnterstützenDas Betreiben der Dienste, Webseite und Server machen wir gerne, kostet aber leider auch Geld.
Unterstütze unsere Arbeit mit einer Spende.
0

dominion

Linux Systemadministrator

Das könnte dich auch interessieren …

10 Antworten

  1. Anonym sagt:

    Riesiger Aufwand den man mit den offiziellen Docker-PHP-Containern in 2-3 Zeilen abfackeln kann.

  2. Matthias sagt:

    Gerade unter Ubuntu/Debian stammen die „Fremdquellen“ ja von dem offiziellen Debian-Maintainer der PHP-Pakete (ondrej). Das Problem mit selbstgebauten Paketen ist ja, dass man da nicht vom Paketmanagement benachrichtigt wird, dass eine neue Version da ist (was bei PHP ja recht häufig ist). Da würde ich noch einen cronjob laufen lassen, der regelmässig nachguckt und einen benachrichtigt. Schöne Skripte auf jeden Fall, danke!

  3. Dennis sagt:

    Hi,

    Danke dir für deine Mühe. Endlich hat es geklappt.

  4. phpuser sagt:

    Für PHP 7.4 spuckt er Fehler aus

    Compiling findet nicht statt.
    Die Version 7.3 hat er problemlos installiert

  5. phpuser sagt:

    Danke, so viel ich weiss, bei meinem fix, waren es sqlite-dev und Mirko Paket.

  6. phpuser sagt:

    Mormo paket.

    Könntest du unten wo du die imagema… Gut Updates machst, noch brotli einfügen?

    Redis ist ja bereits dabei.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.