Я попросил системных администраторов установить 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-алгоритмы]: алгоритмы не найдены в модуле dir
Когда я запускаю это:
$modes = mcrypt_list_modes("/usr/local/bin/mcrypt");
foreach ($modes as $mode) {
echo "$mode <br />\n";
}
Я получаю:
Предупреждение: mcrypt_list_modes () [function.mcrypt-list-mode]: в модуле dir не найдено режимов
Однако, выполнив эту команду, эта команда
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 ?
UPDATE:
Я сделал это:
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-mode]: режимы не найдены в модуле dir в
Затем я вошел в файловый менеджер на моем CPanel и /usr/local/lib/libmcrypt
. Каталог существует, но в нем нет файлов ...
Вот экран печати файлового менеджера.
Спасибо.