PHP ist derzeit eine der beliebtesten und am weitesten verbreiteten serverseitigen Programmiersprachen auf dem Markt. Laut Website-Statistik wird PHP im Jahr 2021 von 79,1 % verwendet aller bekannten Websites laut W3Tech, wobei die Version 7.0-Serie mit 65,6 % den Großteil ausmacht Marktanteil. Viele beliebte CMS und Frameworks wie WordPress, Magento und die Laravel-Entwicklung beinhalten die meisten PHP-Frameworks.
Die bisher neueste PHP-Version ist die 8er-Serie. PHP 8 ist ein bedeutendes Update der PHP-Sprache. Es enthält viele neue Funktionen und Optimierungen, darunter benannte Argumente, Vereinigungstypen, Attribute, Hochstufung von Konstruktoreigenschaften, Übereinstimmungsausdruck, nullsicherer Operator, JIT, Verbesserungen im Typsystem, Fehlerbehandlung und Konsistenz.
Was ist PHP?
PHP “rekursives Akronym für PHP:Hypertext Preprocessor “ ist eine weit verbreitete Open-Source-Allzweck-Skriptsprache, die sich besonders für die Webentwicklung eignet und in HTML eingebettet werden kann. Was PHP von clientseitigem JavaScript unterscheidet, ist, dass der Code auf dem Server ausgeführt wird, HTML generiert und dann an den Client gesendet wird. Der Client würde die Ergebnisse der Ausführung dieses Skripts erhalten, würde aber den zugrunde liegenden Code nicht kennen. Sie können Ihren Webserver sogar so konfigurieren, dass er alle Ihre HTML-Dateien mit PHP verarbeitet, und dann können die Benutzer nicht erkennen, was Sie im Ärmel haben.
Unser Leitfaden installiert PHP 8 auf Ubuntu 20.04 LTS Focal mit den beliebten Webanwendungssoftwareoptionen Apache und Nginx.
Voraussetzungen
- Empfohlenes Betriebssystem: Ubuntu 20.04
- Benutzerkonto: Ein Benutzerkonto mit sudo oderRoot-Zugriff.
Betriebssystem aktualisieren
Aktualisieren Sie Ihr Ubuntu Betriebssystem, um sicherzustellen, dass alle vorhandenen Pakete auf dem neuesten Stand sind:
sudo apt update && sudo apt upgrade -y
Das Tutorial verwendet den sudo-Befehl und vorausgesetzt, Sie haben den Sudo-Status .
So überprüfen Sie den Sudo-Status Ihres Kontos:
sudo whoami
Beispielausgabe, die den Sudo-Status zeigt:
[joshua@ubuntu ~]$ sudo whoami
root
Um ein vorhandenes oder neues Sudo-Konto einzurichten, besuchen Sie unser Tutorial zum Hinzufügen eines Benutzers zu Sudoers unter Ubuntu .
So verwenden Sie das Root-Konto verwenden Sie den folgenden Befehl mit dem Root-Passwort, um sich anzumelden.
su
Importieren Sie Ondřej Surý PHP PPA
Ubuntu unterstützt derzeit PHP 7.4. Sie hinken jedoch den neuesten stabilen Versionen der 7.4-Serie hinterher und haben PHP 8 nicht zu ihrem offiziellen Repository hinzugefügt. Sie müssen das offizielle PPA von Ondřej Surý, dem führenden Entwickler von PHP und Debian, installieren und Ubuntu- und Debian-Pakete warten. Ondřejs Repository wird kontinuierlich monatlich mit der neuesten stabilen Version in PHP 7.4 und 8 aktualisiert.
Als nächstes installieren Sie die Voraussetzungen und Ondřej Surý PPA.
sudo apt install software-properties-common && sudo add-apt-repository ppa:ondrej/php -y
Sie erhalten eine Nachricht mit der Option, zu verlassen oder die Eingabetaste zu drücken und die Eingabetaste zu drücken da dies ein bekanntes sicheres Repository ist. Von nun an kommen alle Ihre PHP-Updates aus diesem Repository, und Sie können nun mit der Installation von PHP 8.0 fortfahren.
Sobald dies erledigt ist, ist es eine gute Idee, Ihre APT-Repositories zu aktualisieren, da das PPA zusätzliche Upgrades für bestehende Abhängigkeiten bringen kann.
sudo apt update
Aktualisieren Sie als Nächstes alle Pakete, die dies erfordern.
sudo apt upgrade -y
Installieren Sie PHP 8.0 mit der Apache-Option
Wenn Sie einen Apache-HTTP-Server betreiben Sie können PHP als Apache-Modul ausführen oder PHP-FPM .
Installieren Sie das Apache-Modul
Um PHP 8 als Apache-Modul zu installieren, geben Sie den folgenden Befehl ein.
sudo apt update && sudo apt install php8.0 libapache2-mod-php8.0
Sobald die Installation abgeschlossen ist, starten Sie Ihren Apache-Server neu, damit das neue PHP-Modul geladen wird.
sudo systemctl restart apache2
Installieren Sie Apache mit PHP-FPM
PHP-FPM (ein Akronym für FastCGI Process Manager) ist eine äußerst beliebte Alternative zu PHP (Hypertext Processor) FastCGI-Implementierung.
So installieren Sie PHP-FPM mit den folgenden Befehlen.
sudo apt update && sudo apt install php8.0-fpm libapache2-mod-fcgid
Beachten Sie, dass PHP-FPM standardmäßig nicht für Apache aktiviert ist. Sie müssen es mit dem folgenden Befehl aktivieren.
sudo a2enmod proxy_fcgi setenvif && sudo a2enconf php8.0-fpm
Starten Sie zuletzt Apache neu.
systemctl restart apache2
Überprüfen Sie, ob PHP-FPM funktioniert:
sudo systemctl status php8.0-fpm
Beispielausgabe:
Installieren Sie PHP 8.0 mit der Nginx-Option
Nginx enthält keine native PHP-Verarbeitung wie einige andere Webserver wie Apache. Sie müssen PHP-FPM „fastCGI Process Manager“ installieren um mit den PHP-Dateien umzugehen.
Suchen Sie zunächst nach Updates auf Ihrem System und installieren Sie PHP-FPM, indem Sie die erforderlichen PHP-Pakete nativ installieren. Führen Sie die folgenden Befehle aus und drücken Sie "Y" wenn Sie dazu aufgefordert werden.
sudo apt install php8.0-fpm php8.0-cli -y
Nach der Installation wird der PHP-FPM-Dienst automatisch gestartet und Sie können den Status überprüfen, um sicherzustellen, dass er ordnungsgemäß ausgeführt wird.
sudo systemctl status php8.0-fpm
Sie müssen Ihren Nginx-Serverblock bearbeiten und das folgende Beispiel hinzufügen, damit Nginx die PHP-Dateien verarbeiten kann.
Unten ein Beispiel für alle Serverblöcke, die PHP-Dateien verarbeiten, die den Speicherort ~ .php$ benötigen hinzugefügt.
server {
# … some other code
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.0-fpm.sock;
}
Testen Sie Nginx, um sicherzustellen, dass Sie keine Fehler mit den Anpassungen haben, die mit dem obigen Code vorgenommen wurden; Geben Sie Folgendes ein.
sudo nginx -t
Beispielausgabe:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Starten Sie den Nginx-Dienst neu, um die Installation abzuschließen.
sudo systemctl restart nginx