Mise à niveau vers PHP 8 à l'aide de Homebrew sur Mac
Cet article est traduit de : https://stitcher.io/blog/php-8-upgrade-mac
Mise à niveau avec Homebrew
Assurez-vous d'abord que Brew est à jour :
brew update
Ensuite, mettez à niveau PHP :
brew upgrade php
Vérifiez la version actuelle en exécutant php -v :
php -v
Redémarrez Nginx ou Apache :
sudo nginx -s reload sudo apachectl restart
et assurez-vous que votre serveur Web local utilise également PHP 8 en accédant au script suivant :
# index.php, accessible to your web server phpinfo();
La version devrait afficher 8.0.x.
REMARQUE : Si vous utilisez Laravel Valet, veuillez continuer à lire, vous aurez besoin de quelques étapes supplémentaires pour que votre serveur Web fonctionne correctement.
Valet
Si vous utilisez Laravel Valet, vous devez effectuer les étapes suivantes pour le mettre à niveau :
composer global update
Maintenant exécutez l'installation avec voiturier :
valet install
Extensions
Les extensions PHP sont installées à l'aide de pecl. Personnellement j'utilise Imagick, Redis et Xdebug. Ils peuvent être installés comme ceci :
pecl install imagick pecl install redis pecl install xdebug
Vous pouvez exécuter pecl list pour voir quelles extensions sont installées :
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
Vous pouvez rechercher d'autres extensions en utilisant la recherche pecl :
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
install Après le nouveau package, assurez-vous de redémarrer le serveur Web :
sudo nginx -s reload sudo apachectl restart
Si vous utilisez Laravel Valet, vous devez également le redémarrer.
valet restart
Assurez-vous que toutes les extensions sont installées et chargées correctement en vérifiant votre serveur Web PHP et l'installation de votre CLI :
php -i | grep redis var_dump(extension_loaded('redis'));
Si vos extensions ne se chargent pas correctement, il existe deux solutions simples.
Tout d'abord, assurez-vous d'ajouter l'extension au bon fichier ini. Vous pouvez exécuter php --ini pour savoir quel fichier est chargé :
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
Vérifiez maintenant le fichier ini :
extension="redis.so" extension="imagick.so" zend_extension="xdebug.so"
Notez que si vous testez une extension installée via la CLI, pas besoin pour redémarrer nginx, apache ou Valet lors de la modification des paramètres ini.
Si vous souhaitez mettre à jour à partir d'une ancienne version de PHP qui utilise également pecl pour installer des extensions, vous pouvez faire la deuxième chose. consiste à réinstaller chaque extension individuellement.
pecl uninstall imagick pecl install imagick
Étape finale
Enfin, vous devez tester et mettre à niveau votre projet pour la compatibilité PHP 8.
Pour plus de fonctionnalités liées à PHP8, veuillez visiter la colonne spéciale PHP8 !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!
Outils d'IA chauds
Undress AI Tool
Images de déshabillage gratuites
Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes
AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.
Clothoff.io
Dissolvant de vêtements AI
Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !
Article chaud
Outils chauds
Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit
SublimeText3 version chinoise
Version chinoise, très simple à utiliser
Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP
Dreamweaver CS6
Outils de développement Web visuel
SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)
Sujets chauds
Quel est le type de retour statique dans PHP 8?
Jun 24, 2025 am 12:57 AM
TheStaticreTurnTypeInphp8MeanThemethoDisexPectedToreRurnanInstanceoftheClassit'sCalledon, y comprisanychildClass.1.EtenablesLaStaticBinding, assuranttheredvalueMatchestheLlingClass'Stype..com.ParedToselEl
Quels sont les arguments nommés dans PHP 8?
Jun 19, 2025 pm 06:05 PM
NAMBALLAGES INSIMPHP8ALLOWPASSINGVALUESTOAFONCTIONNEURSPECIFICATIONS THEPARAMETERNAMEDSEADOFRELYINGORAMETERORDORDORDORDR
Que sont la promotion des propriétés du constructeur dans PHP 8?
Jun 19, 2025 pm 06:45 PM
ConstructorPropertyPromotionInphp8AllowsAutomaticCreationandAsssignmentofClassproperties est en train de dire de la construction de l'apprustaire.InSteadofMumberyAssigingAproperTropertyInTeTheConstructor, DeveloperscanAddanAccessModifier (public, protégé, orprié) Totheparam
Que sont les types mixtes dans PHP 8?
Jun 21, 2025 am 01:02 AM
Le type mixte de PHP8 permet des variables, des paramètres ou des valeurs de retour pour accepter tout type. 1. Le mixtes convient aux scénarios qui nécessitent une forte flexibilité, tels que le middleware, le traitement dynamique des données et l'intégration du code hérité; 2. Il est différent des types d'union car il couvre tous les types possibles, y compris les nouveaux types à l'avenir; 3. Soyez prudent lorsque vous les utilisez pour éviter d'affaiblir la sécurité des types, et il est recommandé d'expliquer les types attendus en conjonction avec PHPDOC. L'utilisation rationnelle de mixtes peut améliorer les capacités d'expression du code tout en conservant les avantages des invites de type.
Qu'est-ce que la compilation JIT (juste à temps) dans PHP 8?
Jun 20, 2025 am 12:57 AM
Jitinphp8 improveSperformanceBy compilantfrementexecutedcodeintomachinecoatTrutime.insteadoferpretingOpcodeachtime, jitidentieShototsectionofcode, compiltesthentonativemachinecode, cachesitforreuse, andrecestreptureveread.ithelpostimosti
Que sont les expressions de correspondance dans PHP 8?
Jun 21, 2025 am 01:03 AM
L'expression de correspondance de PHP8 fournit une cartographie conditionnelle plus propre par une comparaison stricte. 1. Utilisez une égalité stricte (===) pour éviter la conversion de type; 2. Aucune déclaration de rupture n'est requise pour empêcher la pénétration accidentelle; 3. La valeur de retour directe peut être attribuée aux variables; 4. Prise en charge des résultats de la fusion et du partage de la multi-conditions. Convient pour les scénarios d'entrée et de sortie précis de correspondance et de sortie, tels que le traitement du code d'état HTTP; Pas adapté aux contrôles de portée ou aux comparaisons lâches.
Quelles sont les améliorations des performances en PHP 8 par rapport à PHP 7?
Jun 27, 2025 am 12:51 AM
L'amélioration des performances de PHP8 provient principalement du compilateur JIT nouvellement introduit et de l'optimisation du moteur Zend, mais les avantages dans les applications réelles varient selon le scénario. 1. Le compilateur JIT compile un peu de code dans le code machine à l'exécution, améliorant considérablement les performances des scripts CLI ou des API à long terme, mais a un effet limité dans les demandes Web de courte durée; 2. Opcache améliore et améliore les fonctions de mise en cache et de préchargement d'Opcode, réduisant les E / S de disque et l'analyse des frais généraux, en particulier pour les cadres tels que Laravel ou Symfony; 3. Optimisations internes multiples telles que les opérations de chaîne et de réseau plus efficaces, une utilisation de la mémoire plus petite, etc. Bien que chaque amélioration soit faible, elle s'accumule en petites quantités; 4. L'amélioration réelle des performances dépend du scénario d'application, PHP8 peut être rapide 10 dans les tâches à forte intensité informatique.
Quels sont les attributs (annotations) dans PHP 8?
Jun 22, 2025 am 12:54 AM
Les attributs PHP8 ajoutent des métadonnées aux éléments de code grâce à des méthodes structurées. 1. Ils sont attachés au-dessus des classes, des méthodes, etc. en utilisant la syntaxe # [], telle que # [Route ('/ home')] pour définir les itinéraires; 2. Il est plus sûr que PHPDOC, avec la vérification de type et la vérification du temps de compilation; 3. Les attributs personnalisés doivent définir des classes et s'appliquer, tels que l'utilisation de ReflectionAttribute pour créer des attributs de journal LOGEXECUTION; 4. Couramment utilisé dans les cadres pour gérer le routage, la vérification, la cartographie ORM et d'autres tâches, améliorant la lisibilité du code et séparant les configurations logiques; 5. Il est accessible par réflexion, mais une utilisation excessive doit être évitée pour éviter d'affecter la clarté du code.


