Wie man PHP auf Ubuntu installiert: Ein vollständiger Leitfaden von Anfänger bis Fortgeschrittene (Ubuntu 22.04 LTS)

目次

1. Einführung

Warum PHP auf Ubuntu verwenden

PHP ist eine serverseitige Skriptsprache, die in vielen Webanwendungen, einschließlich WordPress, weit verbreitet ist. Sie wird seit vielen Jahren umfangreich in der Webentwicklung eingesetzt, und eine große Anzahl von CMS-Plattformen und Frameworks basiert auf PHP.

Ubuntu ist eine hochstabile Linux-Distribution, die von Entwicklern weltweit genutzt wird und sich besonders gut für Serverumgebungen eignet. Die Kombination aus Ubuntu und PHP ist weit verbreitet, von persönlichen Entwicklungsumgebungen bis hin zu unternehmensreifen Produktionssystemen.

Zielgruppe und Zweck dieses Artikels

Dieser Artikel richtet sich an ein breites Spektrum von Nutzern, von Anfängern, die PHP auf Ubuntu installieren möchten, aber nicht wissen, wo sie beginnen sollen, bis hin zu fortgeschrittenen Nutzern, die spezifische PHP-Versionen installieren müssen. Die Verfahren werden so klar wie möglich erklärt.

Die Anweisungen basieren auf Ubuntu 22.04 LTS, aber die gleichen grundlegenden Schritte gelten auch für andere Versionen.

Was Sie lernen werden

Durch das Lesen dieses Artikels werden Sie in der Lage sein, Folgendes zu verstehen und umzusetzen:

  • Grundlegende Methoden zur Installation von PHP auf Ubuntu
  • Wie man mehrere PHP-Versionen installiert und zwischen ihnen wechselt
  • Wie man den PHP-Betrieb überprüft und Probleme behebt
  • Konfiguration für die Integration mit Apache und Nginx
  • Wie man häufig verwendete PHP-Module installiert

2. Voraussetzungen und Vorbereitung

Wie man die Ubuntu-Version überprüft

Zuerst sollten Sie überprüfen, welche Version von Ubuntu Sie verwenden. Die Installationsmethoden für PHP und die unterstützten Module können je nach Ubuntu-Version leicht variieren.

Sie können die Ubuntu-Version überprüfen, indem Sie den folgenden Befehl ausführen:

lsb_release -a

Alternativ können Sie diesen Befehl verwenden:

cat /etc/os-release

Dieser Artikel erklärt die Verfahren basierend auf Ubuntu 22.04 LTS, aber die gleichen Schritte gelten im Allgemeinen auch für Ubuntu 20.04 und 23.10.

Systempakete auf dem neuesten Stand halten

Bevor Sie PHP installieren, ist es sehr wichtig, alle Systempakete zu aktualisieren. Dies hilft, Abhängigkeitsprobleme und Konflikte zu vermeiden.

sudo apt update
sudo apt upgrade -y

Dies aktualisiert den APT-Paketindex und stellt sicher, dass alle Pakete in ihren neuesten stabilen Versionen installiert werden können.

Erforderliche Hilfsprogramme installieren

Einige PHP-Versionen erfordern zusätzliche Tools zur Verwaltung von Repositories. Das Paket software-properties-common ist notwendig, um Repositories wie PPAs hinzuzufügen.

Falls es nicht installiert ist, installieren Sie es mit dem folgenden Befehl:

sudo apt install -y software-properties-common

Dieses Paket ist für Befehle wie add-apt-repository erforderlich, die häufig verwendet werden, wenn spezifische PHP-Versionen über ein PPA installiert werden.

Root-Berechtigungen oder sudo verwenden

Die meisten in diesem Artikel vorgestellten Operationen erfordern systemweite Änderungen. Verwenden Sie sudo, wenn Sie Befehle ausführen.

3. Wie man PHP installiert

Es gibt zwei Hauptwege, um PHP auf Ubuntu zu installieren. Der eine ist die Installation aus den Standard-Repositories, der andere die Installation einer spezifischen Version mit einem PPA (Personal Package Archive). Jede Methode wird im Folgenden detailliert erklärt.

PHP aus dem Standard-Repository installieren

Ubuntu stellt eine stabile Version von PHP in seinen Standard-Repositories bereit. Wenn Sie keine spezifische Version benötigen, ist dies die einfachste Methode.

sudo apt install -y php

Nach der Installation überprüfen Sie, ob PHP korrekt installiert wurde:

php -v

Beispielausgabe:

PHP 8.1.2 (cli) (built: ...)

Auf Ubuntu 22.04 wird standardmäßig PHP 8.1 installiert.

Eine spezifische PHP-Version mit einem PPA installieren

Wenn Sie die neueste PHP-Version verwenden oder mehrere Versionen verwalten möchten, können Sie das ondrej/php-PPA hinzufügen.

Schritt 1: Das PPA-Repository hinzufügen

sudo add-apt-repository ppa:ondrej/php
sudo apt update

Dieses PPA wird in der Ubuntu-Community weit verbreitet genutzt und bietet stabile Builds für mehrere PHP-Versionen.

Schritt 2: Die gewünschte PHP-Version installieren

Zum Beispiel, um PHP 8.2 zu installieren:

sudo apt install -y php8.2

Sie können auch andere Versionen wie PHP 7.4 oder 8.0 installieren.

Schritt 3: Die installierte Version überprüfen

php -v

4. Überprüfung des PHP‑Betriebs

Nach der Installation von PHP überprüfen Sie, ob es korrekt funktioniert. Sie können dies über die Befehlszeile und über einen Webserver wie Apache oder Nginx prüfen.

Überprüfung über die Befehlszeile (CLI)

Zuerst prüfen Sie die PHP‑Version im Terminal:

php -v

Beispielausgabe:

PHP 8.2.10 (cli) (built: Aug 23 2023 08:12:10) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.2.10, Copyright (c) Zend Technologies

Überprüfung über den Webserver (Apache)

Wenn Apache installiert ist, erstellen Sie eine Testseite mit der Funktion phpinfo().

1. Testdatei erstellen

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

2. Zugriff über den Browser

http://localhost/info.php

3. Ausgabe bestätigen

Wenn detaillierte PHP‑Informationen angezeigt werden, funktioniert PHP korrekt mit Apache.

🔍 Hinweis: Die Ausgabe von phpinfo() enthält sensible Informationen. Löschen Sie die Datei nach der Überprüfung.

sudo rm /var/www/html/info.php

Überprüfung mit Nginx + PHP‑FPM

Bei Verwendung von Nginx wird PHP über php-fpm verarbeitet. Um die korrekte Integration zu prüfen, stellen Sie sicher, dass .php‑Dateien in der Nginx‑Konfigurationsdatei richtig konfiguriert sind, und erstellen Sie dann eine info.php‑Datei, genau wie bei Apache.

Ist die Konfiguration fehlerhaft, kann ein 500‑Fehler auftreten oder die Datei wird statt ausgeführt heruntergeladen. Überprüfen Sie in solchen Fällen Einstellungen wie fastcgi_pass und include fastcgi-php.conf; in der Nginx‑Konfiguration.

5. Installation häufig verwendeter PHP‑Module

Die reine Installation von PHP liefert nicht alle Funktionen. Viele Features werden als separate Module (Erweiterungen) bereitgestellt, die bei Bedarf installiert werden müssen. Dieser Abschnitt stellt gängige PHP‑Module vor, die in der Praxis von Entwicklung und Betrieb verwendet werden.

Was sind PHP‑Module?

PHP‑Module (auch Extensions genannt) fügen spezifische Fähigkeiten hinzu, z. B. Datenbankanbindung, Multibyte‑String‑Verarbeitung, Bildbearbeitung und XML‑Parsing.

Module werden als APT‑Pakete bereitgestellt und können wie folgt installiert werden:

sudo apt install php-module-name

Möchten Sie eine bestimmte Version angeben, verwenden Sie ein Format wie php8.2-mbstring.

Wichtige PHP‑Module und ihre Einsatzbereiche

php-mbstring (Multibyte‑String‑Unterstützung)

Dieses Modul ist essenziell für die Verarbeitung von Multibyte‑Zeichenketten wie japanischem Text. Es ist nahezu unverzichtbar für japanische Websites und die E‑Mail‑Verarbeitung.

sudo apt install php-mbstring

php-mysql (MySQL‑/MariaDB‑Konnektivität)

Dieses Modul wird benötigt, um Verbindungen zu Datenbanken wie MySQL oder MariaDB herzustellen. Es ist für Anwendungen wie WordPress unverzichtbar.

sudo apt install php-mysql

php-gd (Bildverarbeitung)

Dieses Modul wird zum Erzeugen, Konvertieren und Skalieren von Bildern verwendet und ist häufig für Thumbnails und Bildmanipulationen im Einsatz.

sudo apt install php-gd

php-xml (XML‑Verarbeitung)

Dieses Modul ist erforderlich, um XML‑basierte Daten wie RSS‑Feeds und SOAP‑Dienste zu verarbeiten. Es wird häufig in CMS‑Plattformen und API‑Integrationen genutzt.

sudo apt install php-xml

php-curl (HTTP‑Kommunikation)

Dieses Modul ermöglicht HTTP‑Anfragen vom Server, etwa bei der Integration externer APIs. Es wird von vielen modernen Frameworks benötigt.

sudo apt install php-curl

php-zip (Komprimierte Datei‑Verarbeitung)

Dieses Modul erlaubt das Erstellen und Entpacken von ZIP‑Dateien und wird oft in Dateiupload‑Funktionen verwendet.

sudo apt install php-zip

Aktivieren von Modulen und Neustarten von Diensten

Einige Module müssen nach der Installation explizit aktiviert werden. Verwenden Sie phpenmod, um sie zu aktivieren.

sudo phpenmod module_name
sudo systemctl restart apache2

Die aktivierten Module werden nach einem Neustart des Webservers wirksam.

6. Verwaltung und Wechsel von PHP‑Versionen

Ubuntu ermöglicht die Installation und Nutzung mehrerer PHP‑Versionen auf einem einzigen Server. Das ist besonders nützlich in Entwicklungsumgebungen oder auf Servern, die mehrere Webanwendungen hosten.

Dieser Abschnitt erklärt, wie man PHP‑Versionen für die CLI und für Apache wechselt.

PHP‑Versionen in der CLI wechseln

Verwendeter Befehl: update-alternatives

Sie können die in der Befehlszeile verwendete PHP‑Version ganz einfach mit update-alternatives wechseln.

Schritt 1: Installierte PHP‑Versionen prüfen

ls /usr/bin/php*

Schritt 2: PHP‑Versionen registrieren (nur beim ersten Mal)

sudo update-alternatives --install /usr/bin/php php /usr/bin/php7.4 74
sudo update-alternatives --install /usr/bin/php php /usr/bin/php8.2 82

Schritt 3: PHP‑Version auswählen

sudo update-alternatives --config php

Sie sehen ein Auswahlmenü, das dem folgenden ähnelt:

There are 2 choices for the alternative php (providing /usr/bin/php).

  Selection    Path             Priority   Status
------------------------------------------------------------
* 0            /usr/bin/php8.2   82        auto mode
  1            /usr/bin/php7.4   74        manual mode
  2            /usr/bin/php8.2   82        manual mode

Press <enter> to keep the current choice[*], or type selection number:

Schritt 4: Version überprüfen

php -v

PHP‑Versionen in Apache wechseln

Bei der Verwendung von Apache werden PHP‑Versionen über Apache‑Module verwaltet. Sie können Versionen wechseln, indem Sie Module aktivieren und deaktivieren.

1. Verfügbare Module prüfen

ls /etc/apache2/mods-available | grep php

2. Das aktuell aktive Modul deaktivieren

sudo a2dismod php7.4

3. Die gewünschte Version aktivieren

sudo a2enmod php8.2

4. Apache neu starten

sudo systemctl restart apache2

7. PHP mit Apache und Nginx integrieren

PHP wird erst richtig leistungsfähig, wenn es in einen Webserver integriert wird. Auf Ubuntu sind die am häufigsten verwendeten Webserver Apache und Nginx.

Apache‑Integration (mod_php)

Apache kann PHP‑Skripte direkt mit dem mod_php‑Modul verarbeiten. Diese Methode ist einfach und für CMS‑Plattformen wie WordPress geeignet.

Schritt 1: Apache und mod_php installieren

sudo apt install -y apache2 libapache2-mod-php

Schritt 2: Apache neu starten

sudo systemctl restart apache2

Schritt 3: PHP‑Ausführung testen

<?php
phpinfo();
?>
http://localhost/test.php

Nginx‑Integration (PHP-FPM)

Nginx verarbeitet PHP nicht direkt. Stattdessen nutzt es PHP‑FPM (FastCGI Process Manager).

Schritt 1: Nginx und PHP-FPM installieren

sudo apt install -y nginx php-fpm

Schritt 2: Nginx‑Konfiguration bearbeiten

sudo nano /etc/nginx/sites-available/default
location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}

Schritt 3: Nginx neu starten

sudo systemctl restart nginx

8. Fehlersuche

PHP‑Quellcode wird im Browser angezeigt

Ursache

Dies tritt auf, wenn der Webserver PHP‑Dateien nicht korrekt verarbeitet.

Lösung

  • Apache:
    sudo apt install libapache2-mod-php
    sudo systemctl restart apache2
    
  • Nginx:
    sudo systemctl restart php8.2-fpm
    sudo systemctl restart nginx
    

PHP‑Funktionen sind undefiniert

Ursache

Erforderliche PHP‑Module sind nicht installiert oder aktiviert.

Lösung

sudo apt install php-mbstring php-xml php-curl
sudo systemctl restart apache2
php -m

PHP‑Fehler werden nicht angezeigt

Lösung

sudo nano /etc/php/8.2/apache2/php.ini
display_errors = On
error_reporting = E_ALL
sudo systemctl restart apache2

Logdatei‑Speicherorte

Apache:

/var/log/apache2/error.log

Nginx:

/var/log/nginx/error.log

PHP-FPM:

/var/log/php8.2-fpm.log

9. Zusammenfassung

Dieser Artikel bietet eine Schritt‑für‑Schritt‑Erklärung, wie man PHP auf Ubuntu installiert, von den Grundlagen bis zu fortgeschrittenen Themen.

Wichtige Erkenntnisse

  • Überprüfen Sie Ihre Ubuntu-Version und aktualisieren Sie die Pakete
  • Installieren Sie PHP über die Standard‑Repositories oder PPAs
  • Verifizieren Sie PHP über die CLI und Web‑Server
  • Erweitern Sie die Funktionalität mit Modulen
  • Verwalten Sie mehrere PHP‑Versionen flexibel
  • Integrieren Sie PHP korrekt mit Apache oder Nginx
  • Prüfen Sie die Protokolle bei der Fehlersuche

Nächste Schritte

  • Installieren Sie MySQL oder MariaDB
  • Richten Sie WordPress ein
  • Verwenden Sie PHP‑Frameworks wie Laravel
  • Aktivieren Sie HTTPS mit SSL‑Zertifikaten
  • Verwalten Sie Dienste mit systemd

Ubuntu und PHP zusammen bieten eine robuste und flexible Entwicklungsumgebung. Nutzen Sie diese Anleitung als Grundlage und erweitern Sie kontinuierlich Ihre Fähigkeiten.

10. Häufig gestellte Fragen (FAQ)

Q1. Wie installiere ich die neueste PHP‑Version auf Ubuntu?

A. Verwenden Sie das ondrej/php PPA und geben Sie die gewünschte Version an.

Q2. Wie wechsle ich PHP‑Versionen in der CLI?

sudo update-alternatives --config php

Q3. PHP‑Quellcode wird in Apache angezeigt.

sudo apt install libapache2-mod-php
sudo systemctl restart apache2

Q4. Wo befindet sich die php.ini?

  • Apache: /etc/php/8.2/apache2/php.ini
  • CLI: /etc/php/8.2/cli/php.ini

Q5. Wie aktiviere ich PHP‑Module?

sudo phpenmod mbstring
sudo systemctl restart apache2

Q6. PHP funktioniert nicht mit Nginx.

Stellen Sie sicher, dass php-fpm installiert ist und fastcgi_pass korrekt konfiguriert ist.

Q7. PHP‑Fehler sind nicht sichtbar.

display_errors = On
error_reporting = E_ALL
侍エンジニア塾