微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐