69 Stimmen

Fataler Fehler: Aufruf einer undefinierten Funktion mcrypt_encrypt()

HINWEIS: Die Bibliotheken, von denen die MCrypt-Unterstützung abhängt, sind seit Jahren nicht mehr aktualisiert worden, und MCrypt sollte nicht länger als praktikable oder sichere Methode zur Verschlüsselung von Daten angesehen werden. Darüber hinaus wurde MCrypt in PHP 5 veraltet und in PHP 7 vollständig entfernt. Wenn Sie Code haben, in dem MCrypt verwendet wird, sollten Sie ihn überarbeiten und eine modernere Verschlüsselungsbibliothek verwenden.


Weiß jemand, warum diese Fehlermeldung: (Call to undefined function mcrypt_encrypt() ) angezeigt, wenn ich den folgenden Code ausführe?

Übersehe ich einige Schritte, vielleicht eine Einstellung in PHP, die ich vornehmen muss, bevor dieser Code funktionieren kann?

$key = 'password to (en/de)crypt';
$string = 'string to be encrypted';

$test = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($key),
            $string, MCRYPT_MODE_CBC, md5(md5($key)));

0 Stimmen

Welche Version von PHP verwenden Sie?

0 Stimmen

Vielleicht haben Sie PHP 4.0.1, dies ist eine 4.0.2 Funktion. Läuft hier richtig.

5 Stimmen

Ich habe die Version 5.2.8 und erhalte ebenfalls den Fehler "undefinierte Funktion".

3voto

John Conde Punkte 212467

Ist mcrypt aktiviert? Sie können verwenden phpinfo() um zu sehen, ob es so ist.

3voto

nicky Punkte 3690

Wenn Sie php5-fpm verwenden, denken Sie daran, es nach der Installation von mcrypt neu zu starten.

service php5-fpm neu starten

3voto

Rajesh Jai Punkte 71

Wenn Sie Ubuntu 14.04 verwenden, hier ist die Lösung für dieses Problem:

Prüfen Sie zunächst, ob php5-mcryp bereits installiert ist apt-get install php5-mcrypt

Falls installiert, führen Sie einfach diese beiden Befehle aus oder installieren Sie und führen Sie diese beiden Befehle aus

$ sudo php5enmod mcrypt
$ sudo service apache2 restart

Ich hoffe, es wird funktionieren.

3voto

Mei Punkte 1099

Und noch etwas: Wenn Sie PHP über einen Webserver wie Apache bereitstellen, versuchen Sie, den Webserver neu zu starten. Dadurch werden alle eventuell vorhandenen PHP-Module "zurückgesetzt" und die neue Konfiguration wird aktiviert.

2voto

Reza Mamun Punkte 5613

Mein Umfeld: Windows 10, Xampp Control Panel v3.2.4, PHP 7.3.2

Schritt 1: Laden Sie eine geeignete Version für Ihr System von hier herunter: https://pecl.php.net/package/mcrypt/1.0.3/Windows

Schritt 2: Entpacken und kopieren Sie die Datei php_mcrypt.dll nach ../xampp/php/ext/

Schritt 3: Öffnen Sie die Datei ../xampp/php/php.ini und fügen Sie eine Zeile hinzu extension=php_mcrypt.dll

Schritt 4: Starten Sie apache neu, FERTIG!

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X