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

Laravel 5.5执行php artisan migrate遇Mcrypt错误:PHP版本不一致

解决Laravel 5.5 php artisan migrate 报“Mcrypt PHP extension required”错误

嘿,我来帮你搞定这个头疼的问题!从你的描述来看,问题的核心很明确:你的Web服务器用的PHP版本和终端(CLI)用的不是同一个——浏览器里显示的是PHP 7.1.12(已经启用mcrypt),但终端里跑的是PHP 7.2.x,而PHP 7.2开始官方已经移除了mcrypt扩展,这就是为啥终端执行migrate会报错。

下面是具体的解决步骤:

  • 第一步:确认终端当前用的PHP路径
    执行这个命令查看当前CLI使用的PHP位置:

    which php
    

    你会得到类似 /usr/bin/php7.2 的路径,这说明终端默认调用的是PHP7.2。

  • 第二步:切换终端的PHP版本到7.1
    因为你的Web端已经配置好PHP7.1且带mcrypt,直接切换过去最省心。如果你的Ubuntu是通过deb.sury.org的PPA源安装的PHP,用update-alternatives工具来切换:

    1. 先列出系统里已安装的PHP版本选项:
      sudo update-alternatives --list php
      
      你会看到类似 /usr/bin/php7.1 和 /usr/bin/php7.2 的条目。
    2. 选择PHP7.1作为终端默认版本:
      sudo update-alternatives --set php /usr/bin/php7.1
      
  • 第三步:验证切换结果
    执行以下命令确认版本切换成功:

    php -v
    

    现在应该显示PHP 7.1.12了,再执行:

    php -m
    

    查看输出里有没有mcrypt,确认扩展已启用。

  • 第四步:重新执行迁移命令
    现在再跑:

    php artisan migrate
    

    应该就能正常执行了!

如果之后你需要在终端切换回PHP7.2,重复第二步,选择对应的/usr/bin/php7.2路径就行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 08:57:36