Maison  >  Article  >  développement back-end  >  Mise à niveau vers PHP 8 à l'aide de Homebrew sur Mac

Mise à niveau vers PHP 8 à l'aide de Homebrew sur Mac

藏色散人
藏色散人original
2020-11-27 10:09:567795parcourir

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn