it-swarm.com.de

phpenmod mcrypt und phpenmod mbstring geben Fehler zurück

Ich benutze eine minimale Serverumgebung von Ubuntu16.04.1, Apache2, MySQL und PHP 7.0.8.1. Ich habe AMP installiert über: apt-get install lamp-server^.

Ich habe PHPmyadmin auch manuell installiert über:

cd /var/www/html
wget https://files.phpmyadmin.net/phpMyAdmin/4.6.5.2/phpMyAdmin-4.6.5.2-all-languages.Zip
find ./ -type f -name '*phpMyAdmin*.Zip' -exec unzip {} \; # We can also do unzip \*phpMyAdmin*.Zip ...
find ./ -type d -name 'phpMyAdmin-*' -exec mv {} phpmyadmin \;

PHPmyadmin ist bootstrapped, aber um es voll funktionsfähig zu nutzen, muss AFAIK auch Folgendes tun:

phpenmod mcrypt
phpenmod mbstring

Diese liefern jedoch jeweils Fehler:

Module mcrypt ini file doesn't exist under /etc/php/7.0/mods-available

Module mbstring ini file doesn't exist under /etc/php/7.0/mods-available

Diese Fehler hatte ich noch nie. Sind diese Module in aktuellen Releases für PHPmyadmin redundant oder nicht über apt-get install installiert?

2
JohnDoea

Installiere sie zuerst:

Sudo apt install php7.0-mcrypt && Sudo apt install php7.0-mbstring

Dann aktivieren Sie sie mit:

Sudo a2enmod mcrypt
Sudo a2enmod mbstring

Update

Aufgrund der umfangreichen Recherchen glaube ich, dass es einen Buggibt, der verhindert, dass Ihr PHP-Client gut mit PHP-MCRYPT zusammenarbeitet.

Quelle:

Kann die PHP -Erweiterung Mcrypt in Ubuntu 13.10 (Nginx, PHP-FPM) nicht verwenden

php funktioniert unter ubuntu 13.10 nicht gut und mcrypt fehlt in phpmyadmin

Um zu bestätigen, dass mcrypt in Apache aktiviert ist, gehen Sie folgendermaßen vor:

  1. Erstellen Sie eine php Datei mit dem Namen info.php und fügen Sie diesen Code ein:

    <?php echo phpinfo(); ?>
    
  2. Legen Sie die Datei in /var/www/html oder in Ihrem Server root

  3. Greifen Sie über den Browser auf ihn zu, indem Sie IP/info.php oder localhost/info.php sagen.

  4. Schauen Sie sich das an und Sie werden feststellen, dass mcrypt and mbstring aktiviert ist

    enter image description here

    Wie Sie sehen können, ist es in Apache aktiviert, aber von PHP CLI aus nicht erreichbar, daher die Fehlermeldungen.

  5. Um zu bestätigen, dass es funktioniert [da ich dieses Problem auch habe]habe ich Folgendes getan:

    • installiert prestashop application, und da eine der Anforderungen von prestashop php mcryptist, hätte es einen Fehler ausgelöst und sich geweigert, fortzufahren, wenn mcrypt war auf Apache nicht aktiviert.

Einfach ausgedrückt, basierend auf Ihrer Apache-Informationsseite zeigt diese Module an als aktiviert, dann ist es. Der aufgetretene Fehler ist das Ergebnis von php CLI Problemen mit mcrypt , die als Fehler gemeldet wurden. Gesehen in früheren Versionen von php aber jetzt in php 7

11
George Udosen

Ich hatte Probleme mit den oben genannten Lösungen, stellte jedoch Folgendes fest:

https://www.techrepublic.com/article/how-to-install-mcrypt-for-php-7-2/

Im Wesentlichen bauen Sie es selbst:

Sudo apt-get -y install gcc make autoconf libc-dev pkg-config
Sudo apt-get -y install php7.2-dev
Sudo apt-get -y install libmcrypt-dev

Nachdem die Abhängigkeiten installiert wurden, können Sie mcrypt mit dem folgenden Befehl installieren:

Sudo pecl install mcrypt-1.0.1

Von dort musste ich hinzufügen:

 /etc/php/7.2/mods-available/mcrypt.ini

Was so aussah:

; configuration for php mcrypt module
; priority=20
extension=mcrypt.so

Dann

Sudo phpenmod mcrypt
Sudo systemctl restart Apache2.service
3
theINtoy

Wenn beide installiert sind und der Fehler weiterhin besteht, versuchen Sie, einen Symlink zu INI-Dateien in mods-available zu erstellen.

So geht's:

Sudo ln -s /etc/php7/conf.d/mcrypt.ini /etc/php/7.0/mods-available/mcrypt.ini

Sudo ln -s /etc/php7/conf.d/mbstring.ini /etc/php/7.0/mods-available/mbstring.ini
2