Od wielu lat używam mcrypt w mojej aplikacji php zarówno na win/IIS, jak i na linuksie. Chociaż używam PHP 5.4.28 na moim serwerze linuksowym, właśnie uaktualniłem do PHP 5.6.11 na moim Windows 8.1. I mcrypt już nie działa. Nie rzuca żadnych błędów, które widzę; to po prostu nie działa. Oto moja funkcja szyfrowania:mcrypt nie działa w PHP 5.6 na windows/IIS
function Encrypt($text){
global $salt;
if($text != "")
return trim(base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $salt, $text, MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND))));
else
return "";
}
Działa to dobrze na moim serwerze Linux, ale zwraca puste pole w moim lokalnym oknie. Z tego, co przeczytałem, mcrypt jest wbudowany w php 5.6 dla Windows, więc nie powinno być skrzypiec z rozszerzeniami lub plikiem ini.
Czego mi brakuje?
Czy mcrypt nie używa '/ dev/urandom'? – ScottMcGready
Testowany z PHP 5.6.12 na Windows 8 i działa ... nie może być tak prosty jak twój "$ text" jest pusty? próbowałeś 'var_dump ($ text)'? –
Mam nadzieję, że zdajesz sobie sprawę, jak niepewna jest funkcja 'Encrypt'. –