PHP8.1创建Laravel4.2项目报错:Mcrypt扩展缺失求助
解决Laravel 4.2在PHP 8.1下安装时的Mcrypt依赖错误
问题根源
Laravel 4.2是2014年发布的老旧版本,强制依赖Mcrypt扩展,但PHP 7.2及以上版本已官方移除Mcrypt支持,PHP 8.1完全不兼容该扩展,直接用PHP 8.1安装Laravel 4.2必然出现版本不匹配错误。
解决方案
方案一:降级PHP版本(仅适用于必须使用Laravel 4.2的场景)
- 安装PHP 5.4~7.1之间的版本(Laravel 4.2官方要求PHP>=5.4,且这些版本仍支持Mcrypt)
- 启用对应PHP版本的Mcrypt扩展:
- Linux系统:通过包管理器安装
php7.1-mcrypt(以PHP7.1为例),然后在php.ini中开启扩展 - Windows系统:打开
php.ini文件,取消extension=mcrypt行的注释
- Linux系统:通过包管理器安装
- 切换到该PHP版本后,重新执行安装命令:
composer create-project laravel/laravel example-app 4.2 --prefer-dist
方案二:使用兼容PHP 8.1的Laravel版本(推荐)
Laravel 9.x和10.x均支持PHP 8.1,且停止维护的Laravel 4.2存在大量安全漏洞,建议直接安装最新稳定版:
composer create-project laravel/laravel example-app "*" --prefer-dist
也可以指定具体版本,比如安装Laravel 10.x:
composer create-project laravel/laravel example-app 10.* --prefer-dist
内容的提问来源于stack exchange,提问作者terry
相关产品推荐
相关产品推荐

