Laravel erfordert die Mcrypt-PHP-Erweiterung

Lesezeit: 7 Minuten

Laravel erfordert die Mcrypt PHP Erweiterung
Patrick Rec

Ich versuche, die zu verwenden migrate Funktion in Laravel 4 unter OSX. Allerdings erhalte ich folgenden Fehler:

Laravel requires the Mcrypt PHP extension.

Soweit ich weiß, ist es bereits aktiviert (siehe Abbildung unten).

Was ist falsch und wie kann ich es beheben?

Geben Sie hier die Bildbeschreibung ein

  • Benutzt du Laravel 3 oder 4?

    – Jan P.

    30. Mai 2013 um 7:32 Uhr


  • Hab die Info gerade in den Beitrag eingefügt. Es ist Laravel 4

    – Patrick Rec

    30. Mai 2013 um 7:33 Uhr

  • Vielleicht hilft Ihnen dieser Beitrag: stackoverflow.com/questions/14476181/…

    – Jan P.

    30. Mai 2013 um 7:36 Uhr

  • Verwenden Sie integriertes PHP oder haben Sie eine andere Version installiert? Wenn ja, wie hast du es installiert?

    – Jamie Schembri

    30. Mai 2013 um 9:26 Uhr

  • Ich habe diese einfache Lösung mit Homebrew gefunden: jorble.com/2013/04/install-php-mcrypt-in-macosx

    – gelviis

    2. September 2013 um 9:43 Uhr

Laravel erfordert die Mcrypt PHP Erweiterung
JustinHo

Haben Sie MAMP Eingerichtet?

Verwenden which php im Terminal, um zu sehen, welche Version von PHP Sie verwenden.

Wenn es nicht die PHP-Version von MAMP ist, sollten Sie sie bearbeiten oder hinzufügen .bash_profile im Home-Verzeichnis des Benutzers, das heißt: cd ~

Im .bash_profilefügen Sie folgende Zeile hinzu:

export PATH=/Applications/MAMP/bin/php/php5.4.10/bin:$PATH

Bearbeitet: Zuerst sollten Sie den Befehl verwenden cd /Applications/MAMP/bin/php um zu überprüfen, welche PHP-Version von MAMP Sie verwenden, und ersetzen Sie sie dann durch die obige PHP-Version.

Dann restart das Terminal, um zu sehen, welches PHP Sie gerade verwenden.

Und es sollte jetzt funktionieren.

  • Sie benötigen MAMP nicht, um Mcrypt zu erhalten.

    – Jackyalcin

    18. Juli 2013 um 8:06 Uhr

  • Natürlich brauchen Sie MAMP nicht, um Mcrypt zu bekommen. Diese Antwort ist nur für Leute gedacht, die mehrere Versionen von PHP auf ihrem Computer installiert haben, sagen wir XAMPP oder MAMP oder andere.

    – JustinHo

    19. Juli 2013 um 3:37 Uhr

  • Ebenso für AMPPS-Benutzer: export PATH=/Applications/AMPPS/php-5.4/bin:$PATH …angenommen, Sie drehen für 5.4.xx, da sind auch 5.3 und 5.5 drin.

    – Joel Mellon

    19. Dezember 2013 um 17:04 Uhr

  • Jeder verwendet MAMP nicht, haben Sie eine Antwort für den Rest der Leute?

    – TuGordoBello

    12. Januar 2015 um 1:49 Uhr

  • Ich dachte nur, ich würde darauf hinweisen, die cd ~ Ganz wichtig ist, dass Sie die öffnen müssen .bash_profile das dort existiert, ist AUCH wichtig, dass Sie Ihr Terminal schließen und erneut öffnen müssen, damit die neuen Bash-Variablen geladen werden. Stellen Sie einfach sicher, dass Sie ausführen, welche PHP-Datei ausgeführt wird, um zu überprüfen, ob Ihre Änderung angewendet wurde. Viel Spaß beim Programmieren!

    – verdrahtet00

    21. Januar 2015 um 1:37 Uhr

Laravel erfordert die Mcrypt PHP Erweiterung
Jason Lewis

Die webfähigen Erweiterungen und die befehlszeilenfähigen Erweiterungen können unterschiedlich sein. Laufen php -m in Ihrem Terminal und prüfen Sie, ob mcrypt ist aufgelistet. Wenn dies nicht der Fall ist, überprüfen Sie, wo die Befehlszeile Ihre lädt php.ini Datei aus durch Ausführen php --ini von Ihrem Endgerät.

In diesem php.ini Datei können Sie die Erweiterung aktivieren.

OSX

Ich habe von Leuten gehört, die unter OSX Probleme hatten, weil das Terminal auf das mit OSX gelieferte native PHP zeigte. Sie sollten stattdessen Ihr Bash-Profil aktualisieren, um den tatsächlichen Pfad zu Ihrem PHP aufzunehmen. So etwas (ich verwende eigentlich kein OSX, daher ist dies möglicherweise nicht 100%):

export PATH=/usr/local/php5/bin:$PATH

Ubuntu

Auf früheren Versionen von Ubuntu (vor 14.04) beim Ausführen sudo apt-get install php5-mcrypt es installiert die Erweiterung nicht wirklich in die mods-available. Sie müssen es symbolisch verlinken.

sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/mcrypt.ini

Auf allen Ubuntu-Versionen müssen Sie den Mod aktivieren, sobald er installiert ist. Das kannst du mit php5enmod.

sudo php5enmod mcrypt
sudo service apache2 restart

ANMERKUNGEN

  • das hat bei mir unter Ubuntu funktioniert, danke! Seltsam wie sudo apt-get install php5-mcrypt installiert die Erweiterung nicht vollständig.

    – Aristides

    13. März 2014 um 20:29 Uhr

  • Ubuntu 13.10 – Ich musste auch mcrypt selbst installieren

    – Ondrej Galbavý

    1. April 2014 um 18:43 Uhr

  • Anscheinend hatte es die mcrypt ini bereits in mods-available installiert, ich war mir nur des php5enmod-Befehls nicht bewusst. Wenn Sie das verwenden, funktioniert es wie ein Zauber. Danke!

    – imkingdavid

    30. September 2014 um 21:15 Uhr

  • Also nur dazu, ich habe mcrypt aufgelistet, wenn ich php -m gehe, wenn ich gehe, welche php es sagt /usr/local/bin/php. Ich habe versucht, Mcrypt mit Brew zu installieren, und es schien funktioniert zu haben. Aber Laravel sagt immer noch, dass Mcrypt PHP-Erweiterung erforderlich ist.

    – Marais Rossouw

    10. Oktober 2014 um 23:42 Uhr

  • Wie @imkingdavid habe ich auch keinen symbolischen Link benötigt. php5enmod war ausreichend. Ubuntu 14.04 LTS

    – Brett

    22. Dezember 2014 um 21:31 Uhr


1646865251 455 Laravel erfordert die Mcrypt PHP Erweiterung
Bryan P

Für diejenigen, die XAMPP 1.7.3 und Mac verwenden

  1. Gehen Sie zum Terminal
  2. Eingeben which php
    • Wenn es heißt /usr/bin/phpdann weiter mit 3.
  3. Eingeben sudo nano ~/.bash_profile (oder sudo vim ~/.bash_profile wenn Sie wissen, wie man es benutzt)
  4. Dann fügen Sie diese ein export PATH="/Applications/XAMPP/xamppfiles/bin:$PATH"
  5. Strg+O dann zum Speichern eingeben Strg+X beenden.
  6. Art cd ~
  7. Art . .bash_profile
  8. Terminal neu starten.
  9. Eingeben which php. Wenn Sie es richtig gemacht haben, sollte es derselbe sein wie der Pfad in #4.

Der Grund für den mcrypt-Fehler ist, dass Ihr Mac sein natives PHP verwendet, Sie müssen es in das von xampp ändern.

PS Ich würde empfehlen, MAMP für Laravel 4 für Mac-Benutzer zu verwenden, dieses Problem wird zusammen mit dem PHP-Datei-Info-Fehler ohne Schweiß behoben, und die PHP-Version von xampp ist so veraltet.

  • Auch eine gute Antwort! Sollte das für MAMP sein: "export PATH=/Applications/MAMP/bin/php/php5.4.10/bin:$PATH"

    – Foxinni

    25. August 2013 um 9:32 Uhr


  • für diejenigen, die kein ~/.bash_profile haben, versuchen Sie es mit ~/.bashrc

    – Eisenwind

    16. Oktober 2013 um 8:28 Uhr

  • führt das .bash_profile sofort aus, normalerweise müssen Sie neu starten, damit diese Bash ausgeführt wird

    – Bryan P

    15. Mai 2014 um 0:17 Uhr

  • Etwas Schlimmes ist passiert und jetzt würde mein Terminal nicht einmal sudo erkennen

    – Sunny R Gupta

    25. November 2014 um 16:14 Uhr

  • Es funktioniert auch auf lampp, ändern Sie einfach den Pfad zu export PATH="/opt/lampp/bin:$PATH"

    – JTC

    15. Juli 2016 um 20:38 Uhr

1646865251 71 Laravel erfordert die Mcrypt PHP Erweiterung
schleim

Für Nicht-MAMP- oder XAMPP-Benutzer unter OSX (mit installiertem Homebrew):

brew install homebrew/php/php56-mcrypt

Prost!

Nur mit Ubuntu

sudo php5enmod mcrypt

hat es mir angetan. Sie müssen Apache nicht neu starten, da Sie PHP nur über die CLI verwenden müssen.

Unter Ubuntu (PHP-FPM, Nginx)

sudo apt-get install php5-mcrypt

Nach der Installation von php5-mcrypt

Sie müssen einen Symlink zu INI-Dateien in Mods verfügbar machen:

sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/mcrypt.ini

aktivieren:

sudo php5enmod mcrypt

php5-fpm neu starten:

sudo service php5-fpm restart

Mehr Details

1646865252 655 Laravel erfordert die Mcrypt PHP Erweiterung
Sojan José

Laravel auf Apache zum Laufen bringen

PHP-Version: PHP 5.5.9

Ubuntu-Version: 14.04

Ich hatte ein funktionierendes Laravel-Projekt unter Windows. Als ich es auf den Ubuntu-Server kopierte, bekam ich den mcrypt-Fehler. dies nach vielen Stunden des Versuchs und Irrtums

Handwerkerkommando zum Laufen bringen

(wenn Sie einen mcrypt-Fehler bei der Verwendung des artisan-Befehlszeilentools haben)

Ich habe viel herumprobiert, also hatte ich jedes Mal, wenn ich den Befehl php5enmod zuvor ausgeführt habe, Fehlermeldungen. aber bei der Neuinstallation kam keine Fehlermeldung. Nach diesem Schritt habe ich den handwerklichen Befehl zum Laufen gebracht

sudo rm /etc/php5/mods-available/mcrypt.ini
sudo apt-get purge php5-mcrypt
sudo apt-get install mcrypt
sudo apt-get install php5-mcrypt
sudo php5enmod mcrypt

Behebung des Browserfehlers

(wenn beim Zugriff auf die lokale Laravel-Indexseite ein mcrypt-Fehler im Browser auftritt)

sudo nano /etc/php5/apache2/php.ini

fügen Sie die folgende Zeile unter dem dynamisch kompilierten Erweiterungsabschnitt von php ini hinzu

extension=mcrypt.so

Starten Sie den Apache-Server neu, löschen Sie den Laravel-Cache und alles funktioniert

  • Wenn Sie daran arbeiten php-Docker-Imagemüssen Sie auch laufen docker-php-ext-install mcrypt. Getestet auf Bild: php:5.6.31-apache. Ohne das, php -m zeigt nicht mcrypt.

    – Eva

    18. September 2017 um 9:54 Uhr

984770cookie-checkLaravel erfordert die Mcrypt-PHP-Erweiterung

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy