我需要Mcrypt扩展我的CMS才能工作。它不是与PHP windows build一起发布的,我找不到任何编译。我下载了源代码,并使用密钥--enable-mcrypt = shared编译php,但它显示错误:
Enabling extension ext\standard
Checking for mcrypt.h ... <not found>
Checking for mcrypt.h ... <not found>
WARNING: mcrypt not enabled; libraries and headers not found
这是config.w32:
// $Id$
// vim:ft=javascript
ARG_WITH("mcrypt", "mcrypt support", "no");
if (PHP_MCRYPT != "no") {
if (CHECK_HEADER_ADD_INCLUDE('mcrypt.h', 'CFLAGS_MCRYPT') &&
CHECK_LIB('libmcrypt_a.lib;libmcrypt.lib', 'mcrypt') &&
CHECK_LIB('Advapi32.lib', 'mcrypt')
) {
EXTENSION('mcrypt', 'mcrypt.c mcrypt_filter.c', false, "/DZEND_ENABLE_STATIC_TSRMLS_CACHE=1");
AC_DEFINE('HAVE_LIBMCRYPT', 1);
AC_DEFINE('HAVE_LIBMCRYPT24', 1);
} else {
WARNING("mcrypt not enabled; libraries and headers not found");
}
}
它查找mcrypt.h,但在哪个文件夹中?它不在从PECL下载的mcrypt包文件中。不幸的是我不熟悉C ++编译
答案 0 :(得分:7)
http://php.net/manual/en/migration71.deprecated.php
mcrypt扩展已经放弃了近十年,并且使用起来相当复杂。因此,它已被弃用,支持OpenSSL,它将从核心移除到PHP 7.2中的PECL。
答案 1 :(得分:4)
我使用phpseclib/mcrypt_compat
shim:
composer require phpseclib/mcrypt_compat:*
答案 2 :(得分:0)
您可以从此处下载dll文件 http://www.dlldownloader.com/php_mcrypt-dll/
答案 3 :(得分:0)
如果您的 PHP 7.2 ,则由于不推荐使用并且不支持日志记录程序而手动安装mcrypt lib
。
在系统上,首选下面的链接下载dll文件。
https://pecl.php.net/package/mcrypt/1.0.2
并添加php.ini:
extension=mcrypt
并检查重新启动XAMPP / WAMP,您可以检查是否已安装此cmd软件包(php -m
)
答案 4 :(得分:0)
您可以从此处将php_mcrypt.dll下载到php 7.2.XX https://pecl.php.net/package/mcrypt/1.0.3/windows之后,您可以使用phpinfo.php