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

Kubuntu 18.04(PHP7.2)安装/激活ext-mcrypt扩展求助

解决Kubuntu 18.04(PHP7.2)下ext-mcrypt扩展缺失问题

首先得说清楚:PHP 7.2 开始官方已经移除了 mcrypt 扩展,这就是你找不到php-mcrypt或php7.2-mcrypt包的核心原因——它不再是系统源里的预编译包,得通过PECL编译安装。而PHP7.1及更早版本中,mcrypt还是核心扩展的一部分,所以可以直接用apt安装对应版本的包,这就是两个版本的关键差异。

下面是具体的解决步骤:

  • 第一步:安装编译依赖
    要从PECL编译mcrypt,得先配齐必要的开发工具和库:

    sudo apt-get update && sudo apt-get install php7.2-dev libmcrypt-dev gcc make
    
  • 第二步:通过PECL安装适配版本的mcrypt
    注意要指定兼容PHP7.2的稳定版本(1.0.1是经过验证适配7.2的版本):

    sudo pecl install mcrypt-1.0.1
    

    安装时如果弹出libmcrypt prefix? [autodetect]的提示,直接按回车让系统自动检测就行。

  • 第三步:手动创建配置并启用扩展
    系统默认没有mcrypt的配置文件,所以我们得手动补上:

    1. 创建ini配置文件:
      sudo bash -c "echo extension=mcrypt.so > /etc/php/7.2/mods-available/mcrypt.ini"
      
    2. 启用这个扩展:
      sudo phpenmod mcrypt
      
  • 第四步:验证安装并重启服务
    先检查扩展是否成功加载:

    php -m | grep mcrypt
    

    如果输出mcrypt,说明加载成功。接下来根据你的web环境重启对应服务:

    • 用Apache的话:
      sudo systemctl restart apache2
      
    • 用Nginx+PHP-FPM的话:
      sudo systemctl restart php7.2-fpm
      

完成这些步骤后,再执行composer install应该就能正常运行了。

额外提一句:官方其实早就标记mcrypt为废弃,推荐用OpenSSL或Sodium扩展替代它。如果你的项目有条件升级,建议逐步替换掉mcrypt的依赖,这样后续PHP版本升级也不会再碰到类似的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 10:00:39