如何在xampp中安装mcrypt扩展

25

如何在Windows上在xampp中安装mcrypt?

我的PHP版本是7.0.5,而xampp套件没有mcrypt扩展,那么我该如何在xampp中安装mcrypt?


1
你试过这个吗:http://www.myoddweb.com/2010/11/18/install-mcrypt-for-php-on-windows/ - Niklesh Raut
@Rishi,我在我的复制粘贴中也有完全相同的帖子 :) - KikiTheOne
我们发现了90%的相同解决方案,只有在需要搜索时才会出现不同。我认为Dhaval没有尝试过这个。 - Niklesh Raut
我尝试了每一个解决方案。@Rishi 是的,我看到了这个链接。你在php7包中找到了“php_mcrypt.dll”文件吗? - Dhaval Koradiya
最好不要使用mcrypt,它已经被废弃,多年没有更新,并且不支持标准的PKCS#7(原名PKCS#5)填充,只支持非标准的空填充,甚至不能用于二进制数据。mcrypt存在许多未解决的错误,这些错误可以追溯到2003年。mcrypt扩展已被弃用,将在PHP 7.2中删除。相反,考虑使用defuseRNCryptor,它们提供了完整的解决方案,并得到维护和修复。 - zaph
尝试了7.0.3、7.2版本的相同链接,但都没有成功。如何在进行中的项目中替换mcrypt? - insoftservice
5个回答

42

首先,您应该从这里下载适合您系统的版本:https://pecl.php.net/package/mcrypt/1.0.3/windows

然后,您应该将php_mcrypt.dll复制到../xampp/php/ext/并通过在xampp/php/php.ini文件中添加extension=mcrypt来启用扩展。


这对我在Magento 1.9.2.1安装中使用PHP 7.3和xampp有效。 - chamal101
确保您重新启动XAMPP。对于在XAMPP上使用PHP 7.4,这对我有效。 - H.M Maruf

6
最近的 XAMPP for Windows 版本运行 PHP 7.x,这与 mbcrypt 不兼容。 如果你有类似 Laravel 这样需要 mbcrypt 的包,你需要安装一个旧版本的 XAMPP。或者,你可以从 Windows.PHP.net 下载一个 PHP 包,在你的 XAMPP 文件夹中安装它,并配置 php.ini 和 httpd.conf 来使用正确的 PHP 版本来运行你的网站。

2

您需要在XAMPP服务器上使用PECL安装mcrypt:

./bin/pecl install mcrypt

然后在php.ini文件中添加以下代码(扩展块):
extension=mcrypt.so 

谢谢!大多数答案告诉我使用apt,但那会安装mcrypt和php 8.x,而我不想要这个。这个方法完美解决了问题。顺便说一下,我还需要通过apt install libmcrypt-dev来编译pecl。 - Harshil Mehta

0

运行命令时不要提供版本号:

composer create-project laravel/laravel your-project-name 4.2.*

请使用以下内容:
composer create-project laravel/laravel example-app

-3

1
这个似乎到处都出现的标准答案在这里是无效的,因为提问者明确表示他正在使用PHP 7.0.5。 - Matheus Rocha

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接