2016-04-13 13 views
0

Hallo Ich habe bereits installiert, um die CometChat, aber ich die folgende Fehlermeldung konfrontiert:Call to undefined function mcrypt_decrypt() - CometChat Laravel

Call to undefined function mcrypt_decrypt() in /home/vagrant/changeglobe/public/cometchat/integration.php on line 89 

Ich verwende Homestead mit Nginx für Laravel. Ich habe an vielen Stellen gelesen, dass ich mycrypt aktivieren muss, habe aber keine richtige gefunden. Bitte lassen Sie mich über dieses Problem wissen, wenn Sie es wissen. Vielen Dank.

+0

'php5-mcrypt' muss installiert und aktiviert sein. Überprüfen Sie Ihre 'php.ini' Datei, um sicherzustellen, dass sie aktiviert ist (unkommentiert). – camelCase

+0

Es ist am besten, mcrypt nicht zu verwenden, es ist abandonware, wurde seit Jahren nicht mehr aktualisiert und unterstützt keine standardmäßige PKCS # 7-Auffüllung, nur Nicht-Standard-Nullauffüllung, die nicht einmal mit binären Daten verwendet werden kann. Verwenden Sie stattdessen [defuse] (https://github.com/defuse/php-encryption), es wird beibehalten und ist korrekt. – zaph

Antwort

0

Versuchen Sie, die GetUserID() Funktion in /cometchat/integration.php Datei mit dem Code ersetzt unter:

function getUserID() { 
     $userid = 0; 
     if (!empty($_SESSION['basedata']) && $_SESSION['basedata'] != 'null') { 
      $_REQUEST['basedata'] = $_SESSION['basedata']; 
     } 

     if (!empty($_REQUEST['basedata'])) { 
      if (function_exists('mcrypt_encrypt') && defined('ENCRYPT_USERID') && ENCRYPT_USERID == '1') { 
       $key = ""; 
       if(defined('KEY_A') && defined('KEY_B') && defined('KEY_C')){ 
        $key = KEY_A.KEY_B.KEY_C; 
       } 
       $uid = rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($key), base64_decode(rawurldecode($_REQUEST['basedata'])), MCRYPT_MODE_CBC, md5(md5($key))), "\0"); 
       if (intval($uid) > 0) { 
        $userid = $uid; 
       } 
      } else { 
       $userid = $_REQUEST['basedata']; 
      } 
     } 

     if (!empty($_COOKIE['laravel_session'])) { 
      $session= cookie_decrypt($_COOKIE['laravel_session']);   
      $data = file_get_contents(dirname(dirname(dirname(__FILE__))).'/storage/framework/sessions/'.$session); 
      if (!empty($data)) { 
       $k = explode(';i:',$data); 
       $m = explode(';s:',$k[1]); 
       $userid = $m[0]; 
      } 
     } 
     $userid = intval($userid); 
     return $userid; 
    } 

Wenn Sie noch Fragen konfrontiert sind, erstellen Sie bitte ein Support-Ticket https://my.cometchat.com/tickets und unser Team wird Ihnen behilflich sein.

+0

Immer noch der gleiche Fehler – Siddharth

Verwandte Themen