Use of undefined constant MCRYPT_RIJNDAEL_128 - angenommen 'MCRYPT_RIJNDAEL_128'
Ich erfolgreich installiert haben, Laravel, aber nach dem ausführen php artisan serve
und werde localhost:8000
bekomme ich diesen Fehler:
Use of undefined constant MCRYPT_RIJNDAEL_128 - angenommen 'MCRYPT_RIJNDAEL_128'
Habe ich überprüft phpinfo()
auf localhost:8888
und er sagt, dass mcrypt
richtig installiert ist. Aber das einzige, was ich denken kann, ist das vielleicht mein Weg falsch ist?
in meinem .bash_profile
ich habe
PATH=/usr/local/bin:$PATH
Jedes mal, wenn ich versuchen zu laufen, Laravel Befehle ich diese Art in der Klemme:
export PATH="~/.composer/vendor/bin:$PATH"
Läuft bei mir auf einem Mac. Gibt es eine einfache Möglichkeit, ich kann meine bash_profile
so, dass ich konsequent den Wechsel zwischen localhost-Adressen und noch haben alle die richtige PHP-Funktionen arbeiten?
- Schauen Sie in Ihrer php.ini-um zu sehen, ob die
mcrypt
- Erweiterung aktiviert ist. Denken Sie daran, die Sie haben können zwei PHP-config-Dateien - eine für die Konsole und eins für das web (das heißt, die Handwerkerserve
Befehl kann in der Tat berufen sich auf die eingebauten PHP-web-server, was ich vermute, würde die Konsole verwenden, ini-Datei, und nicht den Apache ein). Ein guter Anfang wäre, zu versuchenphp -m
an Ihre Konsole und sehen, ob diese Erweiterung aktiviert ist. MCRYPT_RIJNDAEL_128
erfordert libmcrypt 2.4 oder höher. Überprüfen Sie die Anforderungen für die minimalen Anforderungen. Siehe auch Mcrypt-Chiffre im Handbuch.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dieses problem relativ zum PHP-Erweiterungen loader.
Sie müssen nicht laravel-Befehl an alle nach der erfolgreichen installation.
Laravel framework braucht Mcrypt Library für das security-Modul und verschlüsseln der Datei konfigurieren.
Die Dinge, die Sie brauchen, ist, diese Schritte.
dann configure make und installieren Sie es.
Download php http://php.net/releases/index.php
Oben 5.5.14 vorgeschlagen. (Verwenden Sie diesen Pfad später über Schritt 4)
download dann Automatisch
dann musst du auf Verzeichnisebene
und phpize ausführen in diesem Verzeichnis Ebene
ändern Sie Ihre php.ini enable mcrypt extension durch einfügen dieser in php.ini
Einfacher Weise auf ubuntu
apt-get install php5-mcrypt
mv -i /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/
php5enmod mcrypt
service apache2 restart
Hinweis: wenn Sie nicht über "/etc/php5/conf.d", überspringen Sie einfach diesen Schritt und es wird funktionieren, ok
überprüfen http://php.net/manual/en/mcrypt.installation.php
Für Mac-Nutzer speziell für Sie - installieren Sie es über Hause Brauen
Habe ich installiert eine leere Laravel installation und bekam die folgende Fehlermeldung angezeigt, wenn die Navigation zu http://localhost/kanban/public/:
Notice: Use of undefined constant MCRYPT_RIJNDAEL_128 – angenommen 'MCRYPT_RIJNDAEL_128' in /Library/WebServer/Documents/xxx/config/app.php on line 83
Googeln dieser Fehlermeldung zurück viele tutorials, wie man mcrypt installieren auf Mac OS X (ob Bau es aus den Quellen oder mit Homebrew). Das problem war, dass sowohl die mcrypt und die php55-mcrypt-Pakete korrekt installiert wurden:
Mcrypt wurde auch ordnungsgemäß geladen wird, durch PHP:
für mehr details Lesen Sie bitte diesen link - http://benohead.com/mac-os-x-php-notice-use-undefined-constant-mcrypt_rijndael_128/
Wenn Sie sehen, dieses auf ubuntu oder anderen Aromen von *nix , kann es vielleicht helfen, Folgendes zu tun:
Ich so eingestellt das
.bash_profile
im MacOS-und es funktionierte:Ich hatte auch dieses problem und versuchen, die Bereitstellung eines
Laravel
zuApache
aufMac OS Sierra
. Schließlich fand ich dieser Beitrag gab, dass Schritt-für-Schritt-Anleitung um dieses Problem zu beheben. Diese Anweisungen gehen davon aus, dass Sie Homebrew installiert, wenn Sie nicht es installiert haben, dann fügen Sie den folgenden in einem Terminal-Fenster, um es zu installieren:Hier die entsprechenden Schritte werden eingefügt von der post, die oben gegeben:
Schritt 1: Installieren von autoconf und mcrypt
Ich verwendet, homebrew zu installieren, autoconf und mcrypt, das ist so einfach wie:
Wenn dies nicht für Sie arbeiten, oder Sie nicht verwenden möchten, homebrew, dann schauen Sie sich dieses tutorial.
Schritt 2: Erstellen Sie die PHP-Erweiterung
Bauen, die PHP-Erweiterung, die Sie benötigen PHP 5.4.17 source-code, der zum download zur Verfügung hier und entpacken Sie es:
Dann bauen Sie die Erweiterung mithilfe der folgenden Befehle:
Schritt 3: Aktivieren Sie die Erweiterung
Alles, was Links ist, um die Erweiterung zu aktivieren, editieren Sie /etc/php.ini. Wenn diese Datei nicht vorhanden ist, kopieren Sie /etc/php.ini.default und benennen Sie Sie:
Bearbeiten Sie die /etc/php.ini-Datei und fügen Sie die folgenden:
Schritt 4: Starten Sie den apache neu
Jetzt nur noch den apache neu starten und schon sind Sie fertig!
ZUSÄTZLICHE HINWEISE UND KLÄRUNG
Ich habe stoßen zwei Probleme mit den folgenden Schritten:
PHP
zip-Datei, die ich runtergeladen habe auf die version von PHP, die war auf meinem Rechner installiert.Also ich hab
bestimmen Sie die Versionsnummer, und dann verändert den download zu entsprechen, die Versionsnummer. In meinem Fall die
PHP
version war 5.6.28 und so musste ich download PHP source vonsudo make install
ist, wird die Ausnahme verursacht wurde, SIP -, Sicherheits-featured Hinzugefügt vonEl Capitan
. Die Ausnahme ist beschrieben in diese Frage, und die Lösung dieses Problems fand ich in diese Antwort.Anwendung der Informationen aus dieser Antwort verändert die Schritt 2 aufgeführt ist, und ersetzt die
sudo make install
mit den folgenden:Beachten Sie, dass aufgrund dieser änderung, Schritt 4 oben muss auch geändert, um den Pfad zu
mcrypt.so
. So müssen Sie die folgenden gehen in diephp.ini
:Verwende ich nginx und php-fpm, und schon
apt-get install php5-mcrypt
auf und zog diemcrypt.ini
Datei zumods-available
.Ich zu tun hatte
sudo service php5-fpm restart
bevor es funktionierte tatsächlich.