聊聊brew link更换php版本失败问题

本文给大家聊聊brew link更换php版本失败问题,希望对需要的朋友有所帮助!

问题描述:

我透過 brew 安裝三種php版本

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

停用8.0使用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

還是一樣版本

我開新的終端機也是一樣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

中規中矩操作了

這是哪裏有少設置了?

分析解决:

你可以尝试安装一个PHP选择器

brew update
brew upgrade

参考文档

https://github.com/shivammathur/homebrew-php

安装指定php brew install shivammathur/php/php@7.3

链接php版本 brew link –overwrite –force php@7.3

如果出现报错

Warning: Already linked: <Cellar Path>
To relink:
  brew unlink <formula> && brew link <formula>

执行

brew unlink php@7.3
brew link --overwrite --force php@7.3

重启服务

apache brew services restart httpd
nginx brew services restart nginx

安装结果

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

欢迎讨论!

推荐学习:《PHP视频教程》

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » 聊聊brew link更换php版本失败问题