Maison >développement back-end >tutoriel php >Parlons de l'échec de Brew Link à changer la version de PHP

Parlons de l'échec de Brew Link à changer la version de PHP

藏色散人
藏色散人avant
2021-11-11 14:23:043932parcourir

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 &#39;export PATH="/usr/local/opt/php@7.0/bin:$PATH"&#39; >> ~/.zshrc
  echo &#39;export PATH="/usr/local/opt/php@7.0/sbin:$PATH"&#39; >> ~/.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&#39;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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer