Upgrade auf PHP 8 mit Homebrew auf dem Mac
Dieser Artikel wurde übersetzt von: https://stitcher.io/blog/php-8-upgrade-mac
Upgrade mit Homebrew
Stellen Sie zunächst sicher, dass Brew auf dem neuesten Stand ist:
brew update
Weiter , aktualisieren Sie PHP:
brew upgrade php
Überprüfen Sie die aktuelle Version, indem Sie php -v:
php -v
ausführen. Starten Sie Nginx oder Apache neu:
sudo nginx -s reload sudo apachectl restart
und stellen Sie sicher, dass Ihr lokaler Webserver auch PHP 8 verwendet, indem Sie auf das folgende Skript zugreifen:
# index.php, accessible to your web server phpinfo();
The Version sollte 8.0.x anzeigen.
HINWEIS: Wenn Sie Laravel Valet verwenden, lesen Sie bitte weiter. Sie benötigen einige zusätzliche Schritte, damit Ihr Webserver ordnungsgemäß funktioniert.
Valet
Wenn Sie Laravel Valet verwenden, sollten Sie die folgenden Schritte ausführen, um es zu aktualisieren:
composer global update
Führen Sie jetzt die Valet-Installation aus:
valet install
Extensions
PHP verwendet pecl installiert . Persönlich verwende ich Imagick, Redis und Xdebug. Sie können wie folgt installiert werden:
pecl install imagick pecl install redis pecl install xdebug
Sie können pecl list ausführen, um zu sehen, welche Erweiterungen installiert sind:
pecl list # Installed packages, channel pecl.php.net: # ========================================= # Package Version State # imagick 3.4.4 stable # redis 5.1.1 stable # xdebug 2.8.0 stable
Sie können mit der pecl-Suche nach anderen Erweiterungen suchen:
pecl search pdf # Retrieving data...0% # .. # Matched packages, channel pecl.php.net: # ======================================= # Package Stable/(Latest) Local # pdflib 4.1.2 (stable) Creating PDF on the fly with the PDFlib library
Stellen Sie nach der Installation des neuen Pakets sicher, dass Sie das Web neu starten Server:
sudo nginx -s reload sudo apachectl restart
Wenn Sie Laravel Valet verwenden, sollten Sie es ebenfalls neu starten.
valet restart
Stellen Sie sicher, dass alle Erweiterungen korrekt installiert und geladen sind, indem Sie Ihren PHP-Webserver und die CLI-Installation überprüfen:
php -i | grep redis var_dump(extension_loaded('redis'));
Wenn Ihre Erweiterungen nicht richtig geladen werden, gibt es zwei einfache Lösungen.
Stellen Sie zunächst sicher, dass Sie die Erweiterung zur richtigen INI-Datei hinzufügen. Sie können php --ini ausführen, um zu erfahren, welche Datei geladen wurde:
Configuration File (php.ini) Path: /usr/local/etc/php/7.4 Loaded Configuration File: /usr/local/etc/php/7.4/php.ini Scan for additional .ini files in: /usr/local/etc/php/7.4/conf.d Additional .ini files parsed: /usr/local/etc/php/7.4/conf.d/ext-opcache.ini, /usr/local/etc/php/7.4/conf.d/php-memory-limits.ini
Überprüfen Sie nun die INI-Datei:
extension="redis.so" extension="imagick.so" zend_extension="xdebug.so"
Bitte beachten Sie, dass Sie nginx beim Ändern der INI nicht neu starten müssen, wenn Sie eine installierte Erweiterung über CLI testen Einstellungen, Apache oder Valet.
Wenn Sie von einer älteren PHP-Version aktualisieren möchten, die auch pecl zum Installieren von Erweiterungen verwendet, können Sie den zweiten Schritt tun. besteht darin, jede Erweiterung einzeln neu zu installieren.
pecl uninstall imagick pecl install imagick
Letzter Schritt
Abschließend sollten Sie Ihr Projekt auf PHP 8-Kompatibilität testen und aktualisieren.
Weitere PHP8-bezogene Funktionen finden Sie in der speziellen Rubrik PHP8!
Das obige ist der detaillierte Inhalt vonUpgrade auf PHP 8 mit Homebrew auf dem Mac. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
Heiße KI -Werkzeuge
Undress AI Tool
Ausziehbilder kostenlos
Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos
AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.
Clothoff.io
KI-Kleiderentferner
Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!
Heißer Artikel
Heiße Werkzeuge
Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor
SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen
Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung
Dreamweaver CS6
Visuelle Webentwicklungstools
SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)
Heiße Themen
Was ist statischer Rückgabetyp in PHP 8?
Jun 24, 2025 am 12:57 AM
ThestaticReturnTypeinPhp8MeansthodisexpectToreturnaninStanceOftheClassit'Scalledon, einschließlich AnyChildClass.1.InTenableSlatestaticbinding, sicherstellen, dass Thereturnedvaluematchesthecallingclass'type.2.com Parparedtoselelf, was AlwaysRefererfestothedededededededededEfinineclass, und
Wie heißt Argumente in Php 8?
Jun 19, 2025 pm 06:05 PM
NamedArgumentesinphp8AllowpassingValuestoafunctionBySpifizingTheParameternameInsteadofryingonParameterOrder.1.TheyimProveCereadabilityBy-MakingfunctionCallCall-Self-Dokumentation, Asseenexamplikeresimage (WidthTHTHH: 100, Höhe: 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, ups
Was sind Konstruktor -Immobilienförderung in PHP 8?
Jun 19, 2025 pm 06:45 PM
ConstructorPropertypromotionInphp8AllowsAutomaticcreation und -AnssignmentofClassPropertiesDirectlyFromConstructorParameters
Was sind gemischte Typen in Php 8?
Jun 21, 2025 am 01:02 AM
Der gemischte Typ von PHP8 ermöglicht es Variablen, Parametern oder Rückgabewerten, jeden Typ zu akzeptieren. 1. gemischt ist für Szenarien geeignet, die eine hohe Flexibilität erfordern, z. B. Middleware, dynamische Datenverarbeitung und Legacy -Code -Integration. 2. Es unterscheidet sich von Gewerkschaftstypen, da es alle möglichen Typen abdeckt, einschließlich neuer Typen in der Zukunft. 3. Seien Sie vorsichtig, wenn Sie sie verwenden, um die Sicherheit des Typs zu vermeiden, und es wird empfohlen, die erwarteten Typen in Verbindung mit PHPDOC zu erklären. Die rationale Verwendung von gemischtem Umfang kann die Funktionen der Codexpression verbessern und gleichzeitig die Vorteile der Typ -Eingabeaufforderungen beibehalten.
Was ist JIT (Just-in-Time) -Kompilation in Php 8?
Jun 20, 2025 am 12:57 AM
JitinPhp8imProveSperformanceBy CompilingFrequent executedCodeIntomachinecodeatruntime
Was sind Match -Ausdrücke in Php 8?
Jun 21, 2025 am 01:03 AM
Der Match -Ausdruck von PHP8 bietet eine sauberere bedingte Kartierung durch einen strengen Vergleich. 1. Verwenden Sie strenge Gleichheit (===), um die Typumwandlung zu vermeiden. 2. Es ist keine Break -Erklärung erforderlich, um eine versehentliche Eindringung zu verhindern; 3. Direkter Rückgabewert kann Variablen zugewiesen werden. 4. Support Multi-Condition-Zusammenführungs- und Teilen von Ergebnissen. Geeignet für präzise Übereinstimmungs- und Zuordnungseingangs- und Ausgabeszenarien, wie z. B. die Verarbeitung von HTTP -Statuscode; Nicht für Reichweite oder losen Vergleiche geeignet.
Was sind die Leistungsverbesserungen in PHP 8 im Vergleich zu PHP 7?
Jun 27, 2025 am 12:51 AM
Die Leistungsverbesserung von PHP8 stammt hauptsächlich aus dem neu eingeführten JIT -Compiler- und Zend -Engine -Optimieren, aber die Vorteile in den tatsächlichen Anwendungen variieren je nach Szenario. 1. Der JIT-Compiler kompiliert einen Code in den Maschinencode zur Laufzeit und verbessert die Leistung von CLI-Skripten oder langfristigen APIs erheblich, wirkt sich jedoch nur begrenzte Auswirkungen auf kurzlebige Webanforderungen aus. 2. Opcache verbessert und verbessert Opcode -Caching- und Vorspannungsfunktionen, wodurch die Scheiben -I/A -Diskussion und das Parsen von Overhead, insbesondere für Frameworks wie Laravel oder Symfony, reduziert werden. 3.. Mehrere interne Optimierungen wie effizientere String- und Array -Operationen, kleinere Speicherverwendung usw. Obwohl jede Verbesserung gering ist, sammelt es sich in kleinen Mengen an. V.
Was sind Attribute (Anmerkungen) in Php 8?
Jun 22, 2025 am 12:54 AM
PHP8 -Attribute fügen Codeelemente durch strukturierte Methoden Metadaten hinzu. 1. Sie sind über Klassen, Methoden usw. mit #[] Syntax wie #[Route ('/home')] beigefügt, um Routen zu definieren; 2. Es ist sicherer als PHPDOC, wobei die Überprüfung von Typen und Kompilieren der Kompilierung ist. 3. Die benutzerdefinierten Attribute müssen Klassen definieren und anwenden, z. 4. In Frameworks wird üblicherweise zur Behandlung von Routing, Überprüfung, ORM -Zuordnung und anderen Aufgaben, Verbesserung der Code -Lesbarkeit und der Trennung logischer Konfigurationen verwendet; 5. Es kann durch Reflexion zugegriffen werden, aber übermäßiger Gebrauch sollte vermieden werden, um zu vermeiden, dass die Klarheit der Code beeinträchtigt wird.


