mac php dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.64.dylib 亲测有效

php -v 报错如下

dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.64.dylib
  Referenced from: /usr/local/opt/php@7.1/bin/php
  Reason: image not found
Abort trap: 6

网上有很多坑铁的教程,由于不能升PHP版本(升级后项目部分代码不兼容),试了很多然而并没有什么卵用

最终找到了一篇

https://blog.csdn.net/jmdxin/article/details/114970739?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-0&spm=1001.2101.3001.4242

不管用的icu版本是多少,方法都是一样的,大家可根据自己的实际情况修改版本号

注意:由于权限可能不同,文中 make && make install,可能需要拆分为

sudo  make

sudo make install

否则可能报如下错误

mkdir /usr/local/icu4c
mkdir: /usr/local/icu4c: Permission denied
mkdir /usr/local/icu4c/64.2
mkdir: /usr/local/icu4c: No such file or directory
mkdir /usr/local/icu4c/64.2/lib
mkdir: /usr/local/icu4c/64.2: No such file or directory
make[1]: *** [install-library] Error 1
make: *** [install-recursive] Error 2

最后复制命令要加上这句,引用文中没写

sudo cp libicuuc.64.dylib /usr/local/opt/icu4c/lib/libicuuc.64.dylib 

至此按理说可以结束了,当时命令行目录在 /usr/local/opt/icu4c/lib/下 php -v 正常,但离开这个目录又报  dyld: Library not loaded:  /usr/local/icu4c/64.2/lib/libicuuc.64.dylib ??????

当时我就郁闷了怎么还有这问题?解决方法是:报哪个目录没有libicuuc.64.dylib 就把对应文件复制到对应目录就解决了,我是所有dylib 一起复制过去的

sudo cp libicuuc.64.dylib /usr/local/icu4c/64.2/lib/libicuuc.64.dylib

用这个方法从68.2 ->64.2 成功降下来了,预祝你们也少走一些弯路

XXXXX $ php -v
PHP 7.1.33 (cli) (built: Dec 19 2019 11:01:14) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
    with Xdebug v2.9.8, Copyright (c) 2002-2020, by Derick Rethans
    with Zend OPcache v7.1.33, Copyright (c) 1999-2018, by Zend Technologies

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值