Debian 9 wird mit PHP-Version 7.0 ausgeliefert, wird bald das Ende seiner Lebensdauer erreichen und keine Sicherheitsupdates mehr erhalten.
In diesem Tutorial führen wir Sie durch die Schritte zur Installation von PHP 7.2 auf einem Debian 9-Server. Wir zeigen Ihnen auch, wie Sie Apache und Nginx für die Ausführung von PHP konfigurieren.
Voraussetzungen #
Bevor Sie mit diesem Tutorial beginnen, vergewissern Sie sich, dass Sie als Benutzer mit sudo-Berechtigungen angemeldet sind.
Installieren von PHP 7.2 auf Debian 9 #
Die folgenden Schritte beschreiben, wie Sie PHP 7.2 mit dem Ondrej Sury-Repository installieren.
-
Aktualisieren Sie zuerst
apt
Paketliste auf und installieren Sie die Abhängigkeiten, die zum Hinzufügen eines neuen Repositorys über HTTPS erforderlich sind:sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
-
Beginnen Sie mit dem Importieren des GPG-Schlüssels des Repositorys mit dem folgenden Curl-Befehl:
curl -fsSL https://packages.sury.org/php/apt.gpg | sudo apt-key add -
Fügen Sie das Repository von ondrej zur Liste der Software-Repositorys Ihres Systems hinzu, indem Sie Folgendes eingeben:
sudo add-apt-repository "deb https://packages.sury.org/php/ $(lsb_release -cs) main"
-
Nachdem wir das Repository von ondrej auf unserem System aktiviert haben, können wir PHP installieren, indem wir die Version angeben, die wir verwenden möchten:
sudo apt update
sudo apt install php7.2-common php7.2-cli
-
Überprüfen Sie die Installation, indem Sie den folgenden Befehl ausführen, der die PHP-Version druckt.
php -v
PHP 7.2.8-1+0~20180725124257.2+stretch~1.gbp571e56 (cli) (built: Jul 25 2018 12:43:00) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.8-1+0~20180725124257.2+stretch~1.gbp571e56, Copyright (c) 1999-2018, by Zend Technologies
Konfigurieren von Apache zum Ausführen von PHP #
Wenn Sie Apache als Webserver verwenden, um PHP und das Apache PHP-Modul zu installieren, führen Sie den folgenden Befehl aus:
sudo apt install php7.2 libapache2-mod-php
Sobald die Pakete installiert sind, um das php7.2-Modul zu aktivieren, starten Sie einfach den Apache-Dienst neu:
sudo systemctl restart apache2
Konfigurieren von Nginx zum Ausführen von PHP #
Im Gegensatz zu Apache hat Nginx keine integrierte Unterstützung für die Verarbeitung von PHP-Dateien, daher müssen wir eine separate Anwendung wie PHP FPM („fastCGI Process Manager“) installieren, die PHP-Dateien verarbeitet.
Um die PHP- und PHP-FPM-Pakete zu installieren, führen Sie den folgenden Befehl aus:
sudo apt install php7.2-fpm
Sobald die Pakete installiert sind, wird der PHP FPM-Dienst automatisch gestartet. Sie können den Dienststatus überprüfen mit:
systemctl status php7.2-fpm
● php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager
Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2018-08-30 21:06:53 UTC; 1min 4s ago
Docs: man:php-fpm7.2(8)
Main PID: 16791 (php-fpm7.2)
Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec"
CGroup: /system.slice/php7.2-fpm.service
├─16791 php-fpm: master process (/etc/php/7.2/fpm/php-fpm.conf)
├─16792 php-fpm: pool www
└─16793 php-fpm: pool www
Sie können jetzt Ihren Domänen-Nginx-Serverblock bearbeiten und die folgenden Zeilen hinzufügen, damit Nginx PHP-Dateien verarbeiten kann:
server {
# . . . other code
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
}
}
Starten Sie die Nginx-Dienste neu, damit die neue Konfiguration wirksam wird:
sudo systemctl restart nginx
Installieren von PHP-Erweiterungen #
Wir können die Kernfunktionalität von PHP erweitern, indem wir zusätzliche Erweiterungen installieren. PHP-Erweiterungen sind als Pakete verfügbar und können einfach installiert werden mit:
sudo apt install php-[extname]
Wenn Sie beispielsweise MySQL- und GD-PHP-Erweiterungen installieren möchten, sollten Sie den folgenden Befehl ausführen:
sudo apt install php7.2-mysql php7.2-gd
Vergessen Sie nach der Installation einer neuen PHP-Erweiterung nicht, je nach Konfiguration den Apache- oder den PHP-FPM-Dienst neu zu starten.
Testen der PHP-Verarbeitung #
Um zu testen, ob Ihr Webserver richtig für die PHP-Verarbeitung konfiguriert ist, erstellen Sie eine neue Datei namens info.php innerhalb von /var/www/html
Verzeichnis mit folgendem Code:
<?php
phpinfo();
Speichern Sie die Datei, öffnen Sie den Browser Ihrer Wahl und besuchen Sie http://your_server_ip/info.php
Die phpinfo
Funktion gibt Informationen über Ihre PHP-Konfiguration aus, wie im Bild unten gezeigt: