如何解决作曲家问题 - 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的主要内容,如果未能解决你的问题,请参考以下文章