"今天又是元气满满的一天!"我一边喝着咖啡,一边准备把服务器上的PHP从7.4升级到8.1,作为网站管理员,保持环境更新是我的日常工作之一,打开宝塔面板,轻车熟路地进入PHP管理页面,点击"安装"选择8.1版本,一切看起来都很顺利...
直到终端突然跳出红色错误提示:
/usr/bin/ld: cannot find -lcares
collect2: error: ld returned 1 exit status
make: *** [Makefile:902: sapi/cli/php] Error 1
"这是什么鬼?"我的咖啡差点喷在屏幕上,明明之前升级都很顺利,这次怎么就卡在这个"lcares"上了?
经过一番搜索和排查,我发现这个错误是因为系统缺少c-ares开发库导致的,c-ares是一个异步DNS解析库,PHP在某些网络相关功能中会用到它,而在较新的Linux发行版中,这个库可能默认没有安装。
根据你的Linux发行版,选择对应的安装命令:
对于CentOS/RHEL系统:
yum install c-ares-devel
对于Ubuntu/Debian系统:
apt-get install libc-ares-dev
安装完依赖库后,我们需要重新尝试PHP的编译安装:
安装完成后,建议通过SSH连接到服务器,运行以下命令验证PHP是否安装成功:
php -v
如果显示了正确的PHP版本信息,说明升级成功了。
有时候安装完依赖后可能需要清理之前的编译缓存,可以尝试:
cd /www/server/php/src
make clean
然后再重新安装。
在某些较旧的系统版本中,包名可能略有不同,可以尝试搜索:
yum search ares
或
apt-cache search libc-ares
找到对应的开发包名称。
PHP在不同版本中依赖的库可能会有所变化,新版本可能增加了对c-ares的依赖,或者你的系统环境发生了变化。
为了避免将来遇到类似问题,建议:
在升级PHP前,先更新系统软件包:
yum update
或
apt-get update && apt-get upgrade
安装常用开发工具组:
yum groupinstall "Development Tools"
或
apt-get install build-essential
这次"cannot find -lcares"的错误虽然让人头疼,但解决起来其实并不复杂,关键是要理解错误信息的含义,知道缺少的是什么组件,宝塔面板虽然简化了很多操作,但底层仍然是标准的Linux环境和编译过程。
希望这篇记录能帮助遇到同样问题的朋友,如果你有其他宝塔面板或PHP升级的问题,也欢迎交流讨论,每一个错误都是学习的机会,保持耐心,问题总能解决的!
本文由 生亦玉 于2025-08-02发表在【云服务器提供商】,文中图片由(生亦玉)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/516343.html
发表评论