You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 06.04执行composer update更新Laravel时遇mcrypt.so加载警告求助

解决Ubuntu 6.04下Composer Update时mcrypt.so加载失败的警告

这个警告的核心原因是PHP无法找到mcrypt扩展的动态链接库文件,而且从错误路径/usr/lib/php/20170718/来看,你的PHP配置里的扩展目录和实际系统中的PHP版本不匹配(Ubuntu 6.04默认搭载的是PHP 5.x,而20170718是PHP 7.2+的扩展目录标识)。下面是一步步的解决方法:

1. 先查找系统中是否存在mcrypt.so文件

首先用命令搜索系统里的mcrypt.so:

find / -name mcrypt.so 2>/dev/null

如果搜索到结果(比如/usr/lib/php5/20060613/mcrypt.so),直接跳到步骤3;如果没有任何输出,说明你还没安装mcrypt扩展,先执行步骤2。

2. 安装mcrypt扩展(针对Ubuntu 6.04)

Ubuntu 6.04已经停止官方支持多年,默认软件源已经失效,需要先替换为旧版本源:

  • 编辑源列表文件:
sudo nano /etc/apt/sources.list
  • 将文件中所有archive.ubuntu.com和security.ubuntu.com替换为old-releases.ubuntu.com
  • 保存退出后更新源:
sudo apt-get update
  • 安装PHP 5的mcrypt扩展:
sudo apt-get install php5-mcrypt

3. 修正PHP配置中的扩展路径

编辑你的PHP配置文件(通常在/etc/php5/apache2/php.ini或/etc/php5/cli/php.ini,取决于你用的是Web还是CLI模式):

  • 找到类似extension=mcrypt.so的行,如果前面有;就去掉注释
  • 检查extension_dir配置,确保它指向你的PHP版本对应的扩展目录(比如Ubuntu 6.04下PHP 5的扩展目录通常是/usr/lib/php5/20060613/)
  • 如果直接指定路径更稳妥,可以把extension=mcrypt.so改成:
extension=/usr/lib/php5/20060613/mcrypt.so

(这里的路径替换成你步骤1中找到的实际路径)

4. 重启PHP服务并验证

  • 如果用的是Apache,重启服务:
sudo /etc/init.d/apache2 restart
  • 如果用的是CLI模式,直接重新运行composer update即可

最后提醒一句:Ubuntu 6.04已经停止安全更新超过15年了,不仅软件兼容性差,还存在严重的安全漏洞,建议尽快升级到受支持的新版本系统。

内容的提问来源于stack exchange,提问作者Fil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:11:56