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

基于CodeIgniter的PHP应用Windows下报Mcrypt扩展缺失错误求助

解决CodeIgniter在Windows XAMPP环境下Mcrypt扩展缺失的问题

针对你遇到的这个「相同XAMPP安装包和代码,部分Windows 10机器报错The Encrypt library requires the Mcrypt extension,部分正常」的问题,我结合实际排查经验整理了几个可行的解决方向,你可以逐一尝试:

1. 确认修改的是正确的php.ini文件

XAMPP环境里通常存在多个php.ini副本(比如PHP根目录下的和Apache/bin目录下的),很多人会改错文件导致无效。你可以在CodeIgniter项目里新建一个临时文件phpinfo.php,内容如下:

<?php phpinfo(); ?>

访问这个文件后,找到Loaded Configuration File项,它显示的就是当前Apache实际加载的php.ini路径。找到这个文件,打开后定位到;extension=mcrypt(PHP 7.x及以上可能是;extension=mcrypt.dll),去掉前面的分号,保存后完全重启Apache服务(停止后再启动,不要仅刷新)。

2. 验证Mcrypt扩展文件的完整性与路径

  • 打开XAMPP的php/ext目录,确认存在php_mcrypt.dll文件。如果缺失,可能是安装包损坏,重新解压同一XAMPP安装包覆盖即可。
  • 把XAMPP的php目录和php/ext目录添加到系统的PATH环境变量中:右键「此电脑」→「属性」→「高级系统设置」→「环境变量」,在系统变量的Path里添加这两个路径,然后重启电脑生效。这能避免Apache加载扩展时找不到依赖文件。

3. 切换CodeIgniter的加密驱动(绕开Mcrypt依赖)

旧版CodeIgniter默认使用Mcrypt作为加密驱动,但如果你的PHP版本在5.6及以上,已经支持更稳定的OpenSSL驱动。你可以修改application/config/config.php中的配置:

// 找到这一行,把'mcrypt'改成'openssl'
$config['encryption_driver'] = 'openssl';

修改后无需依赖Mcrypt扩展,大部分场景下都能正常运行,这也是最快捷的替代方案。

4. 安装对应版本的VC++运行库

Mcrypt扩展的加载依赖Visual C++ Redistributable运行库,不同版本的PHP对应不同的VC库(比如PHP 7.0+对应VC14,PHP 5.6对应VC11)。有些机器可能之前已经安装过,有些没有,导致扩展加载失败。你可以下载并安装与你的XAMPP中PHP版本匹配的VC++运行库,安装后重启电脑再测试。

5. 查看Apache错误日志定位具体问题

如果以上方法都无效,打开XAMPP的apache/logs/error.log文件,搜索「mcrypt」相关的错误信息。日志里会明确提示扩展加载失败的原因(比如「找不到指定的模块」「依赖缺失」等),根据具体提示再针对性解决。

内容的提问来源于stack exchange,提问作者Rahul Kumar Singh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 06:57:40