排行榜

macOS安装多版本php,解决icu4c问题

本文阅读 3 分钟
广告

1.查询现在可以安装的php版本

brew search php


2.正常安装php版本

 brew install php@8.0


3.安装版本控制

  • 网上有说使用brew来安装php-version的,但是我试过了,查不到php-version,就懒得加源了,直接通过git下载安装,这种方式基本上所有电脑都能使用,前提是安装了git。


进入你要放置php-version的目录。

git clone https://github.com/wilmoore/php-version.git
source php-version/php-version.sh

php-version 完成


如果退出被后发现用不了php-version的话,那么就把他加入~/.zshrc

vi ~/.zshrc //在文件的最后加入下面这行
source /usr/local/etc/php-version/php-version.sh //前面是你的实际安装路径


php-version的基本使用:


直接输入:php-version可以查看所有已安装的php版本信息

image.png


切换版本:

php-version 7.3.33//这里只是演示,待第二个php安装好之后,就可以使用这条命令切换了


image.png



4.安装第二个版本的php

brew install php@7.3


如果报以下的错误:

php@7.3 has been disabled because it is a versioned formula!

在这里插入图片描述


解决办法:

brew tap shivammathur/php
brew install shivammathur/php/php@7.3

这个解决办法是安装另一个源的php版本,网上有说注释一个文件的disable语句,我试了还是不行,没有进一步找到解决办法,所以就只有换一个源来安装了。


shivammathur的php安装成功后,执行php -v报了icu4c的错误。

Library not loaded: '/usr/local/opt/icu4c/lib/libicui18n.71.dylib'

Referenced from: '/usr/local/Cellar/php@7.1/7.1.33_5/bin/php'

我查看了一个我电脑的icu4c是70的,但是php要求是71的(基本版本同理,报错要求是什么版本的,就去下什么版本的),所以接下来就要把icu4c升级:


接下来解决版本问题:

1.下载libicui18n.71.dylib 这个包,地址:https://ssl.icu-project.org/files/icu4c/

注意一定要是icu4c-71_1-src.tgz 这个,不要下zip的,zip是针对win系统的,会报错。

71包的下载地址:https://github.com/unicode-org/icu/releases/tag/release-71-1


2.安装下载的包

先解压,然后编译安装

cd ./source
./configure
make
make install

再执行php -v,就不会报错了。

至此就安装了两个php的版本,可以通过php-version查看已经安装的php版本信息,这里安装2个php版本方案,也同样适用于安装多个php版本,使用php-version切换。使用方法上面已经介绍,不再赘述。


中途使用过程中,可能会出现使用php-version切换php的版本后,php -v已经是新版本,但是项目里打印phpinfo()的时候还是老版本,这样的话,就需要把老版本php给停止掉:

brew services stop php@8.0 //停止php@8.0服务
brew services restart nginx //重启nginx服务

原因未知,我也只出现过一次这种情况。停掉老版本服务后,打印phpinfo()就正确了。

原创文章,作者:大洋哥,如若转载,请注明出处:https://www.unfit.cn/archives/107.html
mysql 中 where in 的用法
« 上一篇 11-01
brew更换阿里源、清华源、中科大源、官方源
下一篇 » 11-03
广告

相关推荐