So installieren Sie PHP auf Rocky Linux 9/8

PHP ist eine beliebte, universelle Skriptsprache, die sich besonders für die Webentwicklung eignet. Sie ist schnell, flexibel und pragmatisch und wird von Blogs bis hin zu den beliebtesten Websites der Welt verwendet. PHP bietet umfassende Unterstützung für verschiedene Datenbanken und ist damit ein unverzichtbares Tool für serverseitiges Scripting.

Die folgende Anleitung zeigt die Schritte zur Installation von PHP auf Rocky Linux 9 oder 8 mithilfe von Befehlszeilenbefehlen. Die Installationsmethode beinhaltet die Verwendung des Remi RPM-Repository für die neuesten stabilen Builds von PHP 8.1, 8.2 und 8.3.

Remi PHP RPM Repo importieren

Aktualisieren Sie Rocky Linux vor der PHP-Installation

Beginnen Sie mit der Aktualisierung Ihres Rocky Linux-Systems, um es für die PHP-Installation vorzubereiten. Öffnen Sie das Terminal und geben Sie ein:

sudo dnf upgrade --refresh

PHP Remi Repository importieren

EPEL-Repository-Einrichtung

EPEL (Extra Packages for Enterprise Linux) ist für zusätzliche Softwarepakete in Rocky Linux unerlässlich. Nachfolgend finden Sie zwei Optionen zur Installation von EPEL auf Rocky Linux für die neueste Version EL9 oder EL8.

EPEL für Rocky Linux 9 importieren

CRB aktivieren

CRB bietet Zugriff auf weitere Entwicklungstools. Verwenden Sie:

sudo dnf config-manager --set-enabled crb
EPEL-Repositories installieren

So erhalten Sie die neuesten EPEL-Versionen für Rocky Linux 9:

sudo dnf install \
    https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm \
    https://dl.fedoraproject.org/pub/epel/epel-next-release-latest-9.noarch.rpm

Integrieren Sie das für EL 9 entwickelte Remi-Repository:

sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-9.rpm -y

EPEL für Rocky Linux 8 importieren

PowerTools-Repository aktivieren

PowerTools ist für PHP-Entwicklungstools unverzichtbar.

sudo dnf config-manager --set-enabled powertools
EPEL für Rocky Linux 8 aktivieren

Installieren Sie EPEL-Repositories für Rocky Linux 8:

sudo dnf install \
    https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm \
    https://dl.fedoraproject.org/pub/epel/epel-next-release-latest-8.noarch.rpm
Importieren Sie das Remi EL 8-Repository

Wenn EPEL installiert ist, importieren Sie das Remi RPM mit PHP für EL 8:

sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm -y

Aktivieren Sie PHP (8.x) aus dem Remi-Repository

Überprüfen von PHP-Versionen

Bestätigen Sie zunächst die verfügbaren PHP-Versionen im Remi-Repository. Dadurch wird sichergestellt, dass Sie Zugriff auf die gewünschte PHP-Version haben.

Im Terminal ausführen:

dnf module list php

Importieren Sie bei der entsprechenden Aufforderung den GPG-Schlüssel für Remis Repository, indem Sie (Y) eingeben.

Auswählen Ihrer PHP-Version

Aktivieren Sie PHP 8.3

Um PHP 8.3, eine stabile und aktuelle Version, zu installieren, verwenden Sie:

sudo dnf module enable php:remi-8.3 -y

Aktivieren Sie PHP 8.2

Für PHP 8.2, geeignet für Anwendungen, die diese spezielle Version erfordern:

sudo dnf module enable php:remi-8.2 -y

Aktivieren Sie PHP 8.1

So aktivieren Sie PHP 8.1 (ideal für die Kompatibilität mit bestimmten Anwendungen):

sudo dnf module enable php:remi-8.1 -y

PHP-Installation abschließen

Installieren von PHP für Apache- oder Nginx-Support

Nachdem Sie das Remi PHP-Repository aktiviert haben, können Sie PHP installieren, das auf die Anforderungen Ihres Webservers zugeschnitten ist, entweder Apache oder Nginx.

Apache (httpd) PHP-Installation

sudo dnf install php php-cli -y

Nginx PHP Installation

sudo dnf install php-fpm php-cli -y

Überprüfen der PHP-Installation

Bestätigen Sie die PHP-Installation durch Ausführen von:

php -v

Installation von PHP-Erweiterungen

Installieren Sie wichtige PHP-Erweiterungen basierend auf den Anforderungen Ihres Projekts. Vermeiden Sie die Installation aller Erweiterungen, um optimale Leistung und Sicherheit zu gewährleisten.

Standardinstallation

sudo dnf install php-cli php-fpm php-curl php-mysqlnd php-gd php-opcache php-zip php-intl php-common php-bcmath php-imagick php-xmlrpc php-json php-readline php-memcached php-redis php-mbstring php-apcu php-xml php-dom php-redis php-memcached php-memcache

Vereinfachte Installation

Für einen kompakten Installationsbefehl:

sudo dnf install php-{cli,fpm,curl,mysqlnd,gd,opcache,zip,intl,common,bcmath,imagick,xmlrpc,json,readline,memcached,redis,mbstring,apcu,xml,dom,memcache}

Lassen Sie uns nun aufschlüsseln, was jede dieser PHP-Erweiterungen macht:

  • php-cli: Befehlszeilenschnittstelle für PHP, hilfreich beim Ausführen von PHP-Skripten in der Shell.
  • php-fpm: FastCGI-Prozessmanager, nützlich für die Handhabung und Bereitstellung von PHP-Anfragen.
  • php-curl: Ermöglicht Ihnen, eine Verbindung zu und eine Kommunikation mit verschiedenen Servertypen und Protokollen herzustellen.
  • php-mysqlnd: MySQL Native Driver, wird für MySQL-Datenbankverbindungen verwendet.
  • php-gd: Graphics Draw, nützlich zum Erstellen und Bearbeiten von Bilddateien.
  • php-opcache: Opcode-Cache, wird verwendet, um die PHP-Ausführung zu beschleunigen.
  • php-zip: Ermöglicht Ihnen, mit ZIP-Archiven zu arbeiten.
  • php-intl: Internationalisierungserweiterung für die Arbeit mit internationalen Zeichensätzen und Gebietsschemas.
  • php-allgemein: Gemeinsame Dateien und Einstellungen, die von mehreren PHP-Modulen verwendet werden.
  • php-bcmath: Der Binärrechner ermöglicht Mathematik mit beliebiger Genauigkeit.
  • php-imagick: Bietet Methoden zum Erstellen und Ändern von Bildern mithilfe der ImageMagick-Bibliothek.
  • php-xmlrpc: Ermöglicht das Erstellen eines XML-RPC-Servers und vereinfacht das Senden von XML-RPC-Anfragen.
  • php-json: JSON-Erweiterung (JavaScript Object Notation) zum Kodieren und Dekodieren von JSON-Daten.
  • php-readline: Ermöglicht das Lesen einer Datenzeile vom Terminal.
  • php-memcached: Bietet schnelles, verteiltes Caching von Speicherobjekten.
  • php-redis: PHP-Erweiterung für die Schnittstelle mit Redis.
  • php-mbstring: Mehrbyte-Zeichenfolge zur Verarbeitung von Nicht-ASCII-Zeichenfolgen.
  • php-apcu: APC User Cache, eine Userland-Caching-Erweiterung basierend auf APC.
  • php-xml: XML-Parser zum Parsen von XML-Dokumenten.
  • php-dom: Document Object Model, um XML-Dokumente objektorientiert zu bearbeiten.
  • PHP-Memcache: Bietet eine praktische prozedurale und objektorientierte Schnittstelle zu Memcached.
  • PHP-Soap: Wird zum Schreiben von SOAP-Servern und -Clients verwendet.
  • php-ldap: Lightweight Directory Access Protocol zum Zugreifen auf und Verwalten von Verzeichnisinformationen.
  • php-pdo: PHP Data Objects, eine Datenbankzugriffsschicht, die eine einheitliche Zugriffsmethode auf mehrere Datenbanken bereitstellt.

Mit dem folgenden Befehl können Sie jederzeit die geladenen Module anzeigen.

php -m

Zur Verbesserung der Leistungseffizienz wird eine regelmäßige Überwachung und Entfernung unnötiger Module empfohlen.

Installieren von PHP-Entwicklungstools

Installieren Sie zu Entwicklungszwecken den PHP-Entwicklungszweig und die Debugging-Tools:

PHP-Entwicklungszweig

sudo dnf install php-devel

PHP-Debugging-Tools

sudo dnf install php-xdebug php-pcov

Beachten Sie, dass die Installation dieser Version mehrere Abhängigkeiten mit sich bringt. Es wird davon abgeraten, sie durchzuführen, es sei denn, Sie benötigen sie ausdrücklich für Ihre PHP-Entwicklung oder haben keine besonderen Anforderungen.

Konfigurieren Sie den PHP-FPM Nginx-Benutzer unter Rocky Linux

Anpassen von PHP-FPM für Nginx

RHEL-basierte Distributionen wie Rocky Linux verwenden standardmäßig den Benutzer „Apache“ für PHP-FPM, was für Nginx-Setups nicht geeignet ist. Für eine optimale Funktion mit Nginx ist eine Änderung unbedingt erforderlich.

Bearbeiten der PHP-FPM-Konfiguration

Konfigurationsdatei öffnen

Greife auf ... zu www.conf Datei zum Bearbeiten:

sudo nano /etc/php-fpm.d/www.conf
Benutzer- und Gruppeneinstellungen ändern

Ändern Sie den Apache-Benutzer und die Apache-Gruppe in der Datei in Nginx.

Beitragsänderung:

Speichern Sie Ihre Änderungen durch Drücken von (STRG+O) und beenden Sie das Programm dann mit (STRG+X).

Starten Sie den PHP-FPM-Dienst neu

Starten Sie PHP-FPM nach der Änderung der Konfiguration neu, um die Änderungen anzuwenden:

sudo systemctl restart php-fpm

Beispielcode für einen Nginx PHP-FPM-Serverblock

Konfigurieren von Nginx für die PHP-Verarbeitung

Damit Nginx PHP-Dateien verarbeiten kann, muss der Serverblock korrekt konfiguriert werden. Das folgende Beispiel zeigt die notwendige Einrichtung innerhalb des server{} Block zur Verarbeitung von PHP-Dateien.

Nginx PHP-FPM-Konfiguration
    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/run/php-fpm/www.sock;
        fastcgi_index   index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

Überprüfen der Nginx-Konfiguration

Überprüfen Sie die Konfiguration nach der Aktualisierung, um sicherzustellen, dass keine Syntaxfehler vorliegen.

sudo nginx -t

Die erwartete Ausgabe sollte bestätigen, dass die Konfiguration korrekt ist:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Neustart des Nginx-Dienstes

Um die Änderungen anzuwenden, starten Sie den Nginx-Dienst neu:

sudo systemctl restart nginx

Dieser Neustart ist für die Änderungen erforderlich und damit Nginx mit der Verarbeitung von PHP-Dateien mit der neuen Konfiguration beginnen kann.

Abschluss

Okay, damit ist unsere Reise zu Ende! Wir haben PHP erfolgreich auf Rocky Linux eingerichtet, es für Apache oder Nginx optimiert und PHP-FPM für optimale Leistung feinabgestimmt. Denken Sie daran, dass Sie Ihre PHP-Module und -Konfigurationen regelmäßig überprüfen müssen, damit alles reibungslos läuft. Und vergessen Sie nicht, Ihre Dienste nach Änderungen neu zu starten.

Joshua James
Folgen Sie mir
Letzte Artikel von Joshua James (Alle anzeigen)

Hinterlasse einen Kommentar