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

Win10 WAMP环境运行php artisan serve报mcrypt扩展加载失败如何解决

问题根因

  • PHP 7.2及以上版本官方已正式移除mcrypt扩展,第三方编译的php_mcrypt.dll需要和你的PHP环境的线程安全属性、架构、VC编译版本完全匹配才能正常加载,你当前下载的dll版本不匹配,所以出现加载失败的报错
  • Laravel 5.1及之后的版本已经废弃mcrypt依赖,改用OpenSSL实现加密逻辑,你收到Mcrypt PHP extension required报错,大概率是使用了5.1以下的过老Laravel版本,或是项目内引入的第三方包依赖mcrypt扩展

优先解决方案(无需安装mcrypt,更安全)

  1. 升级Laravel版本至5.1及以上官方稳定版,原有加密逻辑可以直接替换为Laravel自带的OpenSSL加密实现,业务代码改动量极小
  2. 如果是第三方依赖包调用了mcrypt,优先查找对应依赖的更新版本,主流依赖基本都已适配OpenSSL替换mcrypt,升级依赖即可解决报错

必须安装mcrypt的操作步骤

如果你的业务逻辑必须依赖mcrypt扩展,按以下步骤操作:

  1. 先确认你的PHP编译属性:
    运行命令php -i | findstr "Thread Safety",如果输出为Thread Safety => enabled,你需要下载线程安全(TS)版本的mcrypt dll,否则下载非线程安全(NTS)版本,同时确认dll为64位、VC15编译版本(PHP 7.4使用VC15编译)
  2. 将匹配版本的php_mcrypt.dll文件放到c:/wamp64/bin/php/php7.4.0/ext/目录下
  3. 修改两处php.ini配置(WAMP的Web端和CLI端使用不同的php.ini文件,必须都修改才会生效):
    • Web端php.ini:左键点击WAMP托盘图标→PHP→php.ini,打开编辑,添加一行extension=mcrypt
    • CLI端php.ini:打开c:/wamp64/bin/php/php7.4.0/php.ini文件,同样添加extension=mcrypt
  4. 重启WAMP所有服务,运行php -m查看已加载扩展列表,确认mcrypt出现在列表中后,再执行php artisan serve即可正常启动

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 00:57:02