Inhaltsverzeichnis
Potenzielle Auswirkungen auf die Abwärtskompatibilität in PHP 8.4
2. Fügen Sie ondrej/php PPA/DPA hinzu
PHP-CLI und PHP als Apache-Modul
PHP CLI und PHP-FPM (empfohlen)
5. Installation prüfen
4. PHP-Erweiterungen installieren
Entwicklung Tools
Xdebug
PCOV
5. Webserver-Integration
PHP-FPM
PHP als Apache-Modul
Heim Backend-Entwicklung PHP-Tutorial PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian

Dec 24, 2024 pm 04:42 PM
php

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an Funktionsabkündigungen und Entfernungen.

Diese Anleitung erklärt, wie man PHP 8.4 installiert oder auf PHP 8.4 aktualisiert Ubuntu, Debian oder deren Derivate. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, Die Installation aus einem APT-Repository, wie unten erläutert, ist oft schneller und sicherer, da diese Repositorys den neuesten Fehler enthalten Korrekturen und Sicherheitsupdates in der Zukunft.

PHP 8.4 ist in den aktuellen Debian- und Ubuntu-Software-Repositories nicht verfügbar. Dieser Leitfaden verwendet die von Ondřej Surý verwalteten Repositories. Die PHP-Repositories von Ondrej waren die De-facto-Repositories für PHP auf Ubuntu, Debian und ihren Derivaten seit mehreren Jahren.

截屏2024-12-24 16.35.26.png

Potenzielle Auswirkungen auf die Abwärtskompatibilität in PHP 8.4

PHP 8.4 bringt mehrere neue Funktionen wie Eigenschaften-Hooks , asymmetrische Sichtbarkeit, Verbesserungen bei DOM-, Curl-, PCRE-Erweiterungen und mehr.

PHP 8.4 veraltet jedoch auch einige PHP-Funktionen und entfernt vier PHP-Erweiterungen vom PHP-Kern bis zu PECL. Dies kann sich auf vorhandenes PHP auswirken Es kann dazu führen, dass Anwendungen zusätzliche PHP-Hinweise/Warnungen ausgeben oder in bestimmten Fällen fehlschlagen Bedingungen.

Einige der bemerkenswerten Änderungen, die sich wahrscheinlich auf bestehende Anwendungen auswirken werden, umfassen:

  • Implizit nullfähige Parameterdeklarationen veraltet
  • E_STRICT-Konstante veraltet
  • Erweiterungen vom PHP-Kern nach PECL verschoben: Pspell, IMAP, OCI8 und PDO_OCI.

Wenn eine PHP-Erweiterung vom PHP-Kern nach PECL verschoben wird, wird die Erweiterung wird einem eigenen Veröffentlichungszyklus folgen. Die im Leitfaden verwendeten Repositorys stellt Updates für sie bereit, wenn das PECL-Projekt für diese Erweiterung vorliegt veröffentlicht Updates. Dies bedeutet jedoch auch, dass die PECL-Erweiterung (und kommt häufig vor) kommt bei der Wartung in Verzug.

Bevor Sie fortfahren, stellen Sie sicher, dass Sie ein Backup des Systems erstellen. Dieser Leitfaden installiert PHP 8.4 parallel zu allen vorhandenen PHP-Installationen, Dies bietet eine einfache Möglichkeit, zur anderen PHP-Installation zurückzukehren, wenn notwendig.


Dieser Schritt gilt nur, wenn ein vorhandenes PHP-Setup aktualisiert wird. Der folgende Befehl listet alle installierten PHP-Pakete mit dem Text „php“ im Namen auf, zeigt sie auf dem Bildschirm an und schreibt sie in eine Datei namens „packages.txt“. Diese Datei ist in einem späteren Schritt bei der Installation der PHP 8.4-Pakete nützlich, um sicherzustellen, dass dieselbe Liste von PHP 8.4-Versionen der Erweiterungen installiert wird.

dpkg -l | grep php | tee packages.txt

2. Fügen Sie ondrej/php PPA/DPA hinzu

Da PHP 8.4-Pakete in keinem der aktuellen Versionen verfügbar sind Debian- oder Ubuntu-Software-Repositories, aus denen die PHP-Pakete stammen müssen ein weiteres Repo.

Ondřej Surý verwaltet ein Paketarchiv, das kompilierte Binärdateien aller enthält aktuelle PHP-Versionen, für Ubuntu und Debian. Es werden auch mehrere PECL ausgeliefert Erweiterungen einschließlich PECL-Erweiterungen für PHP-Kernerweiterungen entbündelt in PHP 8.4.

Sobald dieses Repository hinzugefügt wurde, können die Erstinstallation und Aktualisierungen mit den Standard-Apt-Befehlen durchgeführt werden.


Ubuntu PPA

sudo LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php # Press enter to confirm.sudo apt update

Debian DPA

sudo apt-get updatesudo apt-get -y install lsb-release ca-certificates curl apt-transport-httpssudo curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.debsudo dpkg -i /tmp/debsuryorg-archive-keyring.debsudo sh -c &#39;echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'sudo apt-get update</p>
<h2>3. PHP 8.4-Server-API-Pakete installieren</h2>
<p>Im PPA und DPA von Ondrej folgen PHP 8.4-Pakete dem php8.1-NAME-Muster. PECL und gemeinsam genutzte PHP-Erweiterungen folgen ebenfalls demselben Muster.</p>
<p>Bevor Sie PHP-Erweiterungen installieren, stellen Sie sicher, dass Sie eines der folgenden PHP Server API (SAPI)-Pakete installieren:</p>
<h3>Nur PHP-CLI installieren</h3>
<p>Um PHP CLI zu installieren, installieren Sie das Paket php8.1-cli zusammen mit den Erweiterungen gewünscht.</p>
<pre tabindex="0">sudo apt install php8.4-cli

PHP-CLI und PHP als Apache-Modul

Um PHP CLI und PHP 8.4 als Apache-Modul zu installieren, installieren Sie das Paket libapache2-mod-php8.4:

sudo apt install php8.4-cli libapache2-mod-php8.4

Sofern die PHP-Anwendung nicht die Installation von PHP als Apache-Modul erfordert, sollten Sie die Installation von PHP-FPM in Betracht ziehen stattdessen.

PHP CLI und PHP-FPM (empfohlen)

Es wird empfohlen, PHP-FPM zu installieren, um PHP mit Webservern wie Apache, Nginx und Caddy zu integrieren.

sudo apt install php8.4-cli php8.4-fpm

Dadurch wird der php8.4-fpm-Dienst installiert und automatisch aktiviert. Weitere Informationen zu den später erforderlichen zusätzlichen Schritten finden Sie im Abschnitt zur FPM-Webserver-Integration.

5. Installation prüfen

Für eine schnelle Überprüfung der PHP-Installation führen Sie Folgendes aus:

php -v

Es sollte die PHP-Version, die Build-Zeit und weitere Informationen anzeigen:

`php -v` output
`php -v`-Ausgabe

Wenn der PHP-FPM-Dienst installiert ist, kann sein Status als überprüft werden folgt:

sudo systemctl status php8.4-fpm

Wenn der PHP-FPM-Server erfolgreich läuft, sollte er eine Ausgabe ähnlich der folgenden anzeigen:


php-fpm status
`systemctl status php8.4-fpm`-Ausgabe

4. PHP-Erweiterungen installieren

Alle freigegebenen PHP-Erweiterungen und PECL-Erweiterungen folgen dem php8.4-EXTNAME-Muster, wobei extname der Name der Erweiterung ist.

Beim Upgrade eines vorhandenen Systems lesen Sie bitte die im ersten Schritt erstellte Datei packets.txt, um die vorhandenen PHP 8.3- oder älteren PHP-Erweiterungen zu überprüfen.

Um eine PHP-Erweiterung zu installieren, verwenden Sie die apt install-Befehl mit dem PHP-Erweiterungsnamen mit dem Präfix php-8.4-. Beispielsweise wird die gd-Erweiterung mit dem Paket php8.4-gd installiert:

sudo apt install php8.4-gd

Der folgende Befehl installiert eine Reihe der gängigsten PHP-Erweiterungen, die von den meisten PHP-Bibliotheken und Frameworks benötigt werden:

sudo apt install php8.4-common php8.4-{bcmath,bz2,curl,gd,gmp,intl,mbstring,opcache,readline,xml,zip}

Um nach zusätzlichen PHP-Erweiterungen zu suchen, verwenden Sie den apt-Suchbefehl:

apt search php8.4

Entwicklung Tools

Entwicklungstools wie Xdebug und Code-Coverage-Tools können ebenfalls nach der gleichen Paketnamenskonvention installiert werden.

Dieser Schritt wird auf Produktionsservern nicht empfohlen.

Xdebug

sudo apt install php8.4-xdebug

PCOV

sudo apt install php8.4-xdebug

5. Webserver-Integration

Abhängig von der in Schritt 3 installierten Server-API erfordert die Webserver-Integration möglicherweise eine zusätzliche Konfiguration, damit das PHP 8.4-Upgrade wirksam wird.

PHP-FPM

Bei Verwendung von PHP-FPM (durch Installation des Pakets php8.4-fpm) muss der Webserver neu konfiguriert werden, um über die aktualisierte Version mit dem PHP 8.4-FPM-Server zu kommunizieren Socket-Pfad.


Apache: Diese Konfigurationsänderung wird durch Einschalten der PHP 8.4-Konfigurationsdatei vereinfacht:

sudo a2enconf php8.4-fpm

Nginx: Aktualisieren Sie die fastcgi_pass-Direktive von der alten PHP-FPM-Socket-Pfad zum neuen PHP 8.4-Pfad:

- fastcgi_pass unix:/run/php/php8.3-fpm.sock;  fastcgi_pass unix:/run/php/php8.4-fpm.sock;

Weitere Informationen finden Sie in der Nginx-Dokumentation Informationen


Caddy Server: Aktualisieren Sie die reverse_proxy-Direktive, um den neuen PHP 8.4 FPM-Server-Socket-Pfad zu verwenden:

- reverse_proxy @phpFiles unix//run/php/php8.3-fpm.sock  reverse_proxy @phpFiles unix//run/php/php8.4-fpm.sock

Weitere Konfigurationsdetails finden Sie unter „So verwenden Sie Caddy Server mit PHP“.

PHP als Apache-Modul

Wenn PHP als Apache-Modul installiert ist, deaktiviert der folgende Befehl das bisherige PHP Modul (8.3 in diesem Beispiel) und aktiviert die neue PHP-Version:

sudo a2dismod php8.3 # Change to the current PHP versionsudo a2enmod  php8.4

Das obige ist der detaillierte Inhalt vonPHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Stock Market GPT

Stock Market GPT

KI-gestützte Anlageforschung für intelligentere Entscheidungen

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie verhindern Sie CSRF-Angriffe (Cross-Site Request Forgery (CSRF) in PHP? Wie verhindern Sie CSRF-Angriffe (Cross-Site Request Forgery (CSRF) in PHP? Sep 11, 2025 pm 12:45 PM

ThemostEffectivewaytopreventCSrfAttacksinphpisusesanti-csrftokens.generateEsecurtekenviabin2hex (Random_Bytes (32)), Storeitin $ _Session _Session und IncludeIeitasahiddenfieldInforms.UntoUnuifictheTheToKatHeTheStozeneMatchesMatchesMatchesMatchesMatchesMatches;

Wie verhindern Sie XSS-Angriffe in PHP (Cross-Site-Skript-Angriffe)? Wie verhindern Sie XSS-Angriffe in PHP (Cross-Site-Skript-Angriffe)? Sep 15, 2025 am 12:10 AM

PREVENTXSSBYSCAPINGOUTPUTWITHHTMLSPECIALCHARS () orjson_encode (), validatingInuSusingFilter_var (), ApplyingCSpheaders, AndusingSeframeWorkelaravel.

So fügen Sie einem Bild in PHP ein Wasserzeichen hinzu So fügen Sie einem Bild in PHP ein Wasserzeichen hinzu Sep 15, 2025 am 03:26 AM

Verwenden Sie die GD -Bibliothek von PHP, um Bildern Wasserzeichen hinzuzufügen. Laden Sie zuerst das Originalbild und Wasserzeichen (Text oder Bild) und verwenden Sie imageCopy () oder imagettftext () zusammen, und speichern Sie schließlich die Ausgabe. Unterstützen Sie JPEG, PNG und andere Formate, achten Sie auf die Handhabung von Transparenz- und Schriftartpfaden und stellen Sie sicher, dass die GD -Erweiterung aktiviert ist.

Wie konvertiere ich ein Objekt in ein Array in PHP? Wie konvertiere ich ein Objekt in ein Array in PHP? Sep 14, 2025 am 03:14 AM

Verwenden Sie (Array), um einfache Objekte in Arrays umzuwandeln. Wenn sie private oder geschützte Eigenschaften enthalten, haben die Schlüsselnamen Sonderzeichen. Für verschachtelte Objekte sollten rekursive Funktionen verwendet werden, um die Umwandlung zu durchqueren, um sicherzustellen, dass alle hierarchischen Objekte assoziative Arrays werden.

Wie arbeite man mit Umgebungsvariablen in PHP? Wie arbeite man mit Umgebungsvariablen in PHP? Sep 15, 2025 am 03:55 AM

UseGetEnv () toreADenvironmentvariables und Vlucas/phpDoTenvtoload.EnvilesIndevelopment; StoreSesistInedatalaPikeEsoutSeideCode, Nevercommit.EnvoversionControl, AnductualEnmentvariablesinproductionForscurity.

Wie tätige ich einen API -Anruf mit Curl in PHP? Wie tätige ich einen API -Anruf mit Curl in PHP? Sep 15, 2025 am 05:16 AM

Initializecurlwithcurl_init (), setoptionslikeurl, methode und headers, sendDatausingPostorcustommethods, Handlesponseviacurl_exec (), CheckErrorswithCurl_error (), retrievestatususingCurl_getInfo (), decodejsonsponse und undclosewithcurl_close () (), undcodonsponse und undclosewithcurl_close (), undcodonsponse, und.

Wie teilen Sie eine Zeichenfolge durch einen Trennzeichen in PHP auf? Wie teilen Sie eine Zeichenfolge durch einen Trennzeichen in PHP auf? Sep 11, 2025 pm 12:58 PM

Verwenden Sie die Funktion exploit (), um die Zeichenfolge durch das Trennzeichen zu teilen, und seine Syntax wird untersucht (Trennzeichen, Zeichenfolge, Grenznummer), z. B. Exploit (",", "Apple, Banana), um das Array ['Apple', 'Banana'] zurückzugeben. Limitparameter können die Anzahl der zurückgegebenen Elemente steuern, z. B. Explore ("-", "One-two-Drei", 2), um ['One', 'Two-three'] zu bekommen; Wenn mehrere Separatoren benötigt werden, wird preg_split () mit regulären Ausdrücken verwendet, wie z. B. preg_split (), wie z.

Wie bekomme ich Postdaten in PHP? Wie bekomme ich Postdaten in PHP? Sep 16, 2025 am 01:47 AM

Verwenden Sie das Hyperglobal -Array $ _post, um Postdaten zu erhalten, den Wert über das Formular -Namensattribut zu lesen und bei der Verarbeitung von Array -Eingaben eine für die ERECH -Schleife zu verwenden, damit die Daten überprüft und gefiltert werden müssen, um XSS zu verhindern.

See all articles