我已经要求系统管理员在服务器上安装mcrypt,他们说一切正常。但是当我运行我的简单脚本时,我得到了这个。
警告:mcrypt_get_iv_size() [function.mcrypt-get-iv-size]:模块初始化失败
它来自这条线:
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256,MCRYPT_MODE_ECB);
现在,从这段代码:
$algorithms = mcrypt_list_algorithms("/usr/local/bin/mcrypt");
foreach ($algorithms as $cipher) {
echo "$cipher<br />\n";
}
我得到:
警告:mcrypt_list_algorithms() [function.mcrypt-list-algorithms]:在模块目录中找不到算法
当我运行这个:
$modes = mcrypt_list_modes("/usr/local/bin/mcrypt");
foreach ($modes as $mode) {
echo "$mode <br />\n";
}
我得到:
警告:mcrypt_list_modes() [function.mcrypt-list-modes]:在模块目录中找不到模式
但是,运行这个命令这个命令
which mcrypt; mcrypt -v
产生:
/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)
mcrypt安装/配置是否正确?
更新:
我这样做了:
whereis libmcrypt
...并得到了结果:
libmcrypt: /usr/local/lib/libmcrypt /usr/local/lib/libmcrypt.so /usr/local/lib/libmcrypt.la
我也改变了:
$modes = mcrypt_list_modes("/usr/local/bin/mcrypt");
至...
$modes = mcrypt_list_modes("/usr/local/lib/libmcrypt");
$algorithms = mcrypt_list_algorithms("/usr/local/lib/libmcrypt");
按照建议,但仍然出现错误:
警告:mcrypt_list_modes() [function.mcrypt-list-modes]:在模块目录中找不到模式
然后我进入我的 CPanel 中的文件管理器到/usr/local/lib/libmcrypt
. 该目录存在,但其中没有文件...
谢谢。