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!