PHP Fatal error: Uncaught Error: Call to undefined function mcrypt_create_iv()

프로그래밍/서버2020. 4. 30. 23:15

 PHP Fatal error:  Uncaught Error: Call to undefined function mcrypt_create_iv()

 

mcrypt_create_iv함수를 사용하니..

cafe24의 php5 서버에선 괜찮았는데 aws lightsail의 php7서버에서는 에러가 발생하네요.

 

정보를 찾아보니.. php 7.2부터 mcrypt_create_iv() 함수가 제거됐다고 합니다.

 

해결 방안에는 2가지가 있습니다.

 

mcrypt_create_iv() 함수를 사용할 수 있도록.. 다시 설치하는 방법이 있고

같은 동작을 하는 다름 함수를 사용할 수도 있겠네요.

 

if (!function_exists('mcrypt_create_iv')) {
    function mcrypt_create_iv($length) {
        return openssl_random_pseudo_bytes($length, NULL);
    }
}

같은 동작을 하는 다른 함수는 openssl_random_pseudo_bytes()함수입니다. 위의 코드를 참고하세요 ㅎㅎ

 

음.. 그런데 제가 직접 사용해보니

openssl_random_pseudo_bytes(16, NULL)을 하니 PHP Fatal error:  Only variables can be passed by reference 에러가 발생합니다.

 

openssl_random_pseudo_bytes(16)과 같이 사용하면 되네요 ㅎㅎ;;

 

참고

https://stackoverflow.com/questions/52586096/getting-error-undefined-function-mcrypt-create-iv-in-php-7-2-in-codeigniter

https://stackoverflow.com/questions/52549847/magento-on-php-7-2-wamp-server

작성자

Posted by 드리머즈

관련 글

댓글 영역