Mac(M1)下PHP CLI出现‘Library not loaded’错误的解决方法
问题描述
执行php -v时出现「Library not loaded」错误,通过Homebrew安装了多个PHP版本,/opt/homebrew/opt下包含:
- php
- php@7.3
- php@8.0
- php@8.1
- php@8.2
当前php命令路径为:
/opt/homebrew/bin/php
已尝试以下操作但未解决问题:
brew link phpbrew install libtiffbrew reinstall libtiff
解决方案
1. 确认具体缺失的库路径
先执行php -v,复制完整错误信息,找到类似如下的关键行:
Library not loaded: /usr/local/lib/libtiff.6.dylib
Referenced from: /opt/homebrew/bin/php
Reason: image not found
重点记录缺失的库路径(比如/usr/local/lib/libtiff.6.dylib)和PHP可执行文件路径。
2. 修复PHP的库引用路径
首先获取Homebrew安装的libtiff路径:
brew --prefix libtiff
输出通常为/opt/homebrew/opt/libtiff。
然后使用install_name_tool命令替换PHP中引用的旧库路径:
sudo install_name_tool -change [旧库路径] $(brew --prefix libtiff)/lib/[库文件名] $(which php)
比如错误中缺失的是/usr/local/lib/libtiff.6.dylib,则命令为:
sudo install_name_tool -change /usr/local/lib/libtiff.6.dylib $(brew --prefix libtiff)/lib/libtiff.6.dylib $(which php)
执行完后再运行php -v测试是否解决。
3. 重新安装当前PHP版本
如果上述方法无效,直接重新安装当前链接的PHP版本:
brew reinstall php
安装完成后重启终端,再次执行php -v。
4. 切换到指定PHP版本(可选)
如果需要使用特定PHP版本(比如php@8.2),先解除当前PHP链接,再链接目标版本:
brew unlink php && brew link --force php@8.2
重启终端后测试php -v是否正常。
内容的提问来源于stack exchange,提问作者Dhruv Raval
相关产品推荐
相关产品推荐

