如何解决作曲家问题 - laravel/framework [..] 需要 ext-mcrypt * -> 您的系统中缺少请求的 PHP 扩展 mcrypt

Posted

技术标签:

【中文标题】如何解决作曲家问题 - laravel/framework [..] 需要 ext-mcrypt * -> 您的系统中缺少请求的 PHP 扩展 mcrypt【英文标题】:How to solve composer problem - laravel/framework [..] requires ext-mcrypt * -> the requested PHP extension mcrypt is missing from your system 【发布时间】:2019-12-13 09:52:23 【问题描述】:

当我尝试输入 composer install 时,我确实将一个 laravel 项目从外部服务器复制到我的本地服务器,它显示以下错误

问题 1 - laravel/framework v5.0.16 需要 ext-mcrypt * -> 您的系统中缺少请求的 php 扩展 mcrypt。 - laravel/framework v5.0.16 需要 ext-mcrypt * -> 您的系统中缺少请求的 PHP 扩展 mcrypt。 - laravel/framework v5.0.16 的安装请求 -> laravel/framework[v5.0.16] 可满足。

我有windows 10系统,这是一个老项目,所以我用xampp安装了php 5

我尝试添加extension=php_mcrypt.so,但没有成功

我也在 system32 中添加了一个 dll 文件,但没有工作

php.ini 看起来像这样

[mcrypt]
; For more information about mcrypt settings see http://php.net/mcrypt-module-open

; Directory where to load mcrypt algorithms
; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt)
;mcrypt.algorithms_dir=

; Directory where to load mcrypt modes
; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt)
;mcrypt.modes_dir=

【问题讨论】:

Laravel requires the Mcrypt PHP extension的可能重复 尝试通过 CLI 执行 composer require phpseclib/mcrypt_compat 【参考方案1】:

Laravel 5.0 installation参考 laravel 文档

如果是 Windows:

    编辑php.ini 在动态扩展部分添加extension=mcrypt.so 重启服务器

如果是 Ubuntu:

检查php版本

php -v

尝试通过以下命令安装 mcrypt 扩展,

//for php version 5
sudo apt-get install mcrypt
sudo apt-get install php5-mcrypt

//for php version 7.2
sudo apt-get -y install gcc make autoconf libc-dev pkg-config
sudo pecl install mcrypt-1.0.1
sudo apt-get -y install php7.2-dev
sudo apt-get -y install libmcrypt-dev

mcrypt 正确安装后,继续你的 laravel 安装

composer create-project laravel/laravel directory "5.0.*" --prefer-dist

【讨论】:

【参考方案2】:

你可以试试这个

 1. cd /etc/php5/cli/conf.d

 2. ln -s ../../mods-available/mcrypt.ini 20-mcrypt.ini

如果这不起作用 安装mcrypt扩展

我都试过了:

sudo apt-get install mcrypt
sudo apt-get install php5-mcrypt

为 CLI 配置 php.ini

然后,编辑位于 /opt/lampp/etc/php5/cli/php.ini 的 php.ini,在动态扩展部分添加 extension=mcrypt.so(我认为任何地方都可以)。不要忘记重新启动服务器。

【讨论】:

我有窗户等位置在哪里? 您安装 mcrypt 并在此处阅读安装过程 link 然后您需要转到 xampp 的 php 文件夹并在动态扩展部分添加 extension=mcrypt.so(任何地方都可以,我思考)。不要忘记重新启动服务器。 此答案中提到的命令均不适用于 Windows 操作系统(特别要求有问题)。

以上是关于如何解决作曲家问题 - laravel/framework [..] 需要 ext-mcrypt * -> 您的系统中缺少请求的 PHP 扩展 mcrypt的主要内容,如果未能解决你的问题,请参考以下文章

我该如何解决这个 composer.json 错误

如何修复 laravel 中的“包:发现”错误?

如何整合视觉作曲家自定义wordpress主题

依赖问题作曲家[奏鸣曲管理员; SonataDoctrineORMAdminBundle]

如何使用 Composer 安装 Composer?

如何解决 youtube data api V3 中的 curl 错误 60:ssl 证书问题?