Cet article parlera de l'échec de Brew Link pour changer la version php. J'espère que cela sera utile aux amis dans le besoin !
Description du problème :
J'ai installé trois versions de PHP via Brew
php 5.6 php 7.4 php 8.0
$ php -v
PHP 8.0.3 (cli) (built: Mar 4 2021 20:45:17) ( NTS ) Copyright (c) The PHP Group Zend Engine v4.0.3, Copyright (c) Zend Technologies with Zend OPcache v8.0.3, Copyright (c), by Zend Technologies
arrêté 8.0 et utilisé 7.4
$ brew unlink php@8.0 && brew link php@7.4 Unlinking /usr/local/Cellar/php/8.0.3... 0 symlinks removed. Linking /usr/local/Cellar/php@7.4/7.4.16... 264 symlinks created. $ php -v
toujours la même version
J'ai ouvert un nouveau terminal et c'est le même 8.0.3
PHP 8.0.3 (cli) (built: Mar 4 2021 20:45:17) ( NTS ) Copyright (c) The PHP Group Zend Engine v4.0.3, Copyright (c) Zend Technologies with Zend OPcache v8.0.3, Copyright (c), by Zend Technologies
Le fonctionnement est tout à fait satisfaisant
Où sont les réglages manquants ?
Analyse et solution :
Vous pouvez essayer d'installer un sélecteur PHP
brew update brew upgrade
Documentation de référence
https://github.com/shivammathur/homebrew-php
Installer et spécifier php Brew install shivammathur/php/php@7.3
Lien php version Brew link --overwrite - -force php@7.3
Si une erreur se produit
Warning: Already linked: <Cellar Path> To relink: brew unlink <formula> && brew link <formula>
Exécuter
brew unlink php@7.3 brew link --overwrite --force php@7.3
Redémarrer le service
apache brew services restart httpd nginx brew services restart nginx
Résultats de l'installation
To enable PHP in Apache add the following to httpd.conf and restart Apache: LoadModule php7_module /usr/local/opt/php@7.0/lib/httpd/modules/libphp7.so <FilesMatch \.php$> SetHandler application/x-httpd-php </FilesMatch> Finally, check DirectoryIndex includes index.php DirectoryIndex index.php index.html The php.ini and php-fpm.ini file can be found in: /usr/local/etc/php/7.0/ php@7.0 is keg-only, which means it was not symlinked into /usr/local, because this is an alternate version of another formula. If you need to have php@7.0 first in your PATH run: echo 'export PATH="/usr/local/opt/php@7.0/bin:$PATH"' >> ~/.zshrc echo 'export PATH="/usr/local/opt/php@7.0/sbin:$PATH"' >> ~/.zshrc For compilers to find php@7.0 you may need to set: export LDFLAGS="-L/usr/local/opt/php@7.0/lib" export CPPFLAGS="-I/usr/local/opt/php@7.0/include" To have launchd start shivammathur/php/php@7.0 now and restart at login: brew services start shivammathur/php/php@7.0 Or, if you don't want/need a background service you can just run: php-fpm
Bienvenue pour en discuter !
Apprentissage recommandé : "Tutoriel vidéo PHP"
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!