458 Stimmen

Laravel benötigt die Mcrypt PHP-Erweiterung

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

Laravel benötigt die Mcrypt PHP-Erweiterung.

Soweit ich weiß, ist sie bereits aktiviert (siehe Bild unten).

Was ist falsch und wie kann ich es beheben?

Bildbeschreibung eingeben

9voto

abaumer Punkte 171

Erweiterung zu @JetLaggy:

Nachdem ich immer wieder versucht hatte, .bash_profile mit dem MAMP-Verzeichnis zu ändern, habe ich die Dateiberechtigungen für das MAMP-PHP-Verzeichnis geändert und 'which php' konnte das richtige Verzeichnis anzeigen. Das Problem war jedoch, dass andere Funktionen nicht funktionierten, wie z.B. 'php -v'.

Also habe ich MAMP aktualisiert. http://documentation.mamp.info/de/mamp/installation/updating-mamp

Dies hat bei meiner speziellen Konfiguration funktioniert. Ich musste meinen PATH anpassen, um die aktualisierte Version von PHP widerzuspiegeln, aber sobald ich das gemacht hatte, funktionierte alles!

9voto

Tim Groeneveld Punkte 8159

Auf OS X

Verwendung von MAMP

Geben Sie den Befehl which php im Terminal ein, um zu sehen, welche Version von PHP Sie verwenden. Wenn es nicht die PHP-Version von MAMP ist, muss die $PATH-Variable, die von Bash verwendet wird, aktualisiert werden.

Zuerst sollten Sie den Befehl "cd /Applications/MAMP/bin/php" verwenden, um zu überprüfen, welche PHP-Version von MAMP verwendet wird, und notieren Sie sich die Version (z.B. php5.6.7).

Nachdem Sie die Version kennen, sollten Sie die Datei ~/.bash_profile bearbeiten (das heißt, die .bash_profile, die sich in Ihrem Home-Verzeichnis befindet) und eine Exportzeile hinzufügen:

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

Vergewissern Sie sich, dass Sie php5.6.7 durch die PHP-Version ersetzen, die Sie in MAMP ausgewählt haben.

Nachdem die Datei gespeichert wurde, stellen Sie sicher, dass Sie Ihr Terminal schließen und erneut öffnen. Nachdem dies erledigt ist, verwenden Sie nun das mit MAMP ausgelieferte PHP.


Eine einfache Möglichkeit, um herauszufinden, welche Zeile Sie in Ihre .bash_profile einfügen müssen, ist die Ausführung des folgenden Befehls in Ihrem Terminal:

    echo export PATH=`cat /Applications/MAMP/conf/apache/httpd.conf \
         | grep php | grep -i LoadModule | head -n1 \
         | sed -e 's/^[^\/]*\/\(.*\)\/mod.*/\/\1/'`/bin:\$PATH

Wenn Sie diese drei Zeilen in Ihr Terminal kopieren und einfügen, wird die korrekte PHP-Version ausgegeben, die im MAMP-Steuerelement ausgewählt wurde.

Verwendung von Homebrew/MacPorts

Vergewissern Sie sich, dass Ihr path /usr/local/bin/ (Homebrew) oder /opt/local/bin (MacPorts) enthält, wenn Sie PHP verwenden, das mit einem dieser beiden Paketmanager geliefert wird.

Überprüfen des PHP-Pfads mit MacPorts

Sie können den genauen Speicherort von PHP mit MacPorts mit dem folgenden Befehl finden:

port contents php70 | grep bin/php

Beachten Sie, dass Sie php70 durch die installierte PHP-Version ersetzen sollten.

Überprüfen des PHP-Pfads mit Homebrew-php

Homebrew-php (https://github.com/Homebrew/homebrew-php) ist ein Tap, der verschiedene Versionen von PHP enthält.

Sie können den genauen Speicherort von PHP mit Homebrew mit dem folgenden Befehl finden:

brew --prefix homebrew/php/php56

Beachten Sie, dass Sie php56 durch die installierte PHP-Version ersetzen sollten.

6voto

Gowthaman D Punkte 584

In Ubuntu 14.04

sudo apt-get install php5-mcrypt
sudo php5enmod mcrypt

Ubuntu 16.04

sudo apt-get install php-mcrypt
sudo phpenmod mcrypt

Ubuntu 18.04

sudo apt install php7.0-mcrypt
sudo phpenmod mcrypt

or

sudo apt install php7.2-mcrypt
sudo phpenmod mcrypt

5voto

Unwired Punkte 82

Wenn Sie Z Shell verwenden, tun Sie einfach Folgendes:

  1. Öffnen Sie das Terminal
  2. sudo nano ~/.zshrc
  3. Fügen Sie dies ein; export PATH=/Applications/MAMP/bin/php/php5.6.10/bin:$PATH
  4. Speichern
  5. Ausführen source ~/.zshrc
  6. Ausführen which php - Sie sollten den MAMP 5.6.10 Pfad erhalten

5.6.10 ist die Version von PHP, die Sie in Ihrem MAMP eingestellt haben.

3voto

kris Punkte 10519

OSX mit Brew

$ brew install mcrypt php70-mcrypt

Ich verwende PHP 7.0.x, daher ändern Sie "php70" auf Ihre Version, wenn Sie eine andere Version verwenden.
Wie in anderen Antworten erwähnt, können Sie Ihre PHP-Version mit $ php -v anzeigen.

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