小编Kid*_*de 的帖子

mcrypt安装的问题

我已经要求系统管理员在服务器上安装mcrypt,他们说一切正常.但是当我运行我的简单脚本时,我得到了这个.

警告:mcrypt_get_iv_size()[function.mcrypt-get-iv-size]:模块初始化失败

它来自这条线:

$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256,MCRYPT_MODE_ECB);
Run Code Online (Sandbox Code Playgroud)

现在,从这段代码:

$algorithms = mcrypt_list_algorithms("/usr/local/bin/mcrypt");

foreach ($algorithms as $cipher) {
    echo "$cipher<br />\n";
} 
Run Code Online (Sandbox Code Playgroud)

我明白了:

警告:mcrypt_list_algorithms()[function.mcrypt-list-algorithms]:在模块目录中找不到算法

当我运行这个:

$modes = mcrypt_list_modes("/usr/local/bin/mcrypt");

foreach ($modes as $mode) {
    echo "$mode <br />\n";
}
Run Code Online (Sandbox Code Playgroud)

我明白了:

警告:mcrypt_list_modes()[function.mcrypt-list-modes]:在模块目录中找不到模式

但是,运行此命令时此命令

which mcrypt; mcrypt -v
Run Code Online (Sandbox Code Playgroud)

生产:

/usr/local/bin/mcrypt
Mcrypt v.0.9.9 (x86_64-unknown-linux-gnu)
Linked against libmcrypt v.2.5.7
Copyright (C) 1998-2002 Nikos Mavroyanopoulos (nmav@gnutls.org)
Run Code Online (Sandbox Code Playgroud)

是否已正确安装/配置mcrypt

更新:

我这样做了:

whereis libmcrypt
Run Code Online (Sandbox Code Playgroud)

......得到了结果:

libmcrypt: /usr/local/lib/libmcrypt /usr/local/lib/libmcrypt.so /usr/local/lib/libmcrypt.la
Run Code Online (Sandbox Code Playgroud)

我也改变了:

$modes = mcrypt_list_modes("/usr/local/bin/mcrypt");
Run Code Online (Sandbox Code Playgroud)

至...

$modes = mcrypt_list_modes("/usr/local/lib/libmcrypt");
$algorithms …
Run Code Online (Sandbox Code Playgroud)

php centos mcrypt

14
推荐指数
3
解决办法
3万
查看次数

标签 统计

centos ×1

mcrypt ×1

php ×1