聊聊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教程

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...