es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Constante no definida “MCRYPT_RIJNDAEL_128” en codeIgniter PHP 8.0.

Estoy actualizando php 7.x a 8.0 en CodeIgniter en el servidor local de Wamp en Windows 10. Encontré este error:

Mensaje: Constante no definida “MCRYPT_RIJNDAEL_128”

Mi código es así:

$password = trim(openssl_encrypt(MCRYPT_RIJNDAEL_128, $key, $encrypted, MCRYPT_MODE_CBC, $iv), “\0..\32”);

El error se muestra así:

Imagen de descripción de la entrada

Tags:  , ,

Answer

  1. Avatar for davy.ai

    El mensaje de error “Constante no definida ‘MCRYPT_RIJNDAEL_128′” aparece al intentar actualizar la versión de PHP de 7.x a 8.0 en CodeIgniter en un servidor local wamp en Windows 10. Este error se produce generalmente debido a la eliminación de la extensión MCRYPT en PHP 7.2, y su eliminación completa en PHP 7.4.

    Para solucionar esto, reemplace la constante MCRYPT_RIJNDAEL_128 por su equivalente en openssl, que es AES-128-CBC. Por lo tanto, el código debe actualizarse a:

    $password = trim(openssl_encrypt('AES-128-CBC', $key, $encrypted, OPENSSL_RAW_DATA, $iv), "\0..\32");
    

    Alternativamente, puedes instalar la extensión MCRYPT si estás utilizando la versión de PHP 7.x, ya que aún es compatible antes de actualizar a la versión de PHP 8.0.

    Una vez que el código se actualice, el mensaje de error debería resolverse y el código debería funcionar sin problemas.

Comments are closed.