Die angeforderte PHP-Erweiterung ext-mcrypt * fehlt auf Ihrem System [geschlossen]

7

Ich habe mein PHP auf Version 5.4.13 usw. aktualisiert und im Terminal gibt meine PHP-Version dies an

   PHP 5.4.12 (cli) (built: Mar 16 2013 21:46:23)

Wenn Sie jedoch eine Composer-Installation ausführen, wird der folgende Fehler angezeigt.

  The requested PHP extension ext-mcrypt * is missing from your system

Wie auch immer, ich habe mehrere Methoden ausprobiert, um dies zum Laufen zu bringen usw. und nichts:

Ich habe Folgendes verwendet: Lösung Eins und Lösung Zwei , beide verwenden einen ähnlichen Ansatz, aber ich ge ge die Fehler.

Ich habe dann einen PHP-Info-Test durchgeführt und dies zeigt, dass die Version 5.3.15 ist und dass mycrypt angibt, dass die mcrypt-Unterstützung aktiviert ist

Also verwendet mein Server dieses PHP und der in meinem Terminal ein anderes, wie es scheint

Irgendwelche Ideen, wie man das behebt?

Ich verwende einen MAC Mountain Lion mit Mountain Lion Sever (aktuell), xcode und alle Vorgänge sind auf dem neuesten Stand und ich habe den Server neu gestartet.

Simon Davies
quelle

Antworten:

10

Habe den gleichen Fehler unter Linux (Ubuntu 14.04)

Überprüfen Sie, ob ini vorhanden ist

/etc/php5/mods-available/mcrypt.ini

Wenn dies der Fall ist, überprüfen Sie, ob Sie einen Symlink zu ini haben. So etwas wie im Verzeichnis/etc/php5/cli/conf.d

05-mcrypt.ini -> ../../mods-available/mcrypt.ini

Wenn es keinen Symlink gibt, erstellen Sie ihn. Nach der Installation der php5-mcryptErweiterung habe ich keinen Symlink, nur eine INI-Datei. Deshalb erstellen Sie das Symlink-Handbuch.

Sie können sudo php5enmod mcrypt verwenden , um den Mod zu aktivieren. Es wird der Symlink für Sie erstellt.

Skuridin
quelle
Vielen Dank für die Antwort darauf, aber in der Zeit bin ich zu Virtual Servern übergegangen, hauptsächlich mit Vagrant und einem Dateiaufruf Vaprobash.
Simon Davies
1
Vielen Dank, dies hat in Ubuntu 14.04 funktioniert. Darf ich ein paar Fragen stellen: 1. Wie haben Sie vermutet, dass es keine INI-Datei gibt? 2. Warum macht das php5-mcrypt-Paket dies nicht automatisch? Soll ich einen Fehler melden?
Aditya MP
Woher wusstest du auch, dass es 05-Dateiname sein muss und nicht irgendein anderes int am Anfang?
Aditya MP
4

Versuchen Sie die folgende Lösung:

sudo apt-get install php5-mcrypt
sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available
sudo php5enmod mcrypt
sudo service apache2 restart

Viel Glück,

-Iulian

Iulian
quelle
Können Sie erklären, wie Sie dies ohne tun könnten php5enmod? Die meisten von uns haben das nicht auf ihren Systemen.
Noah Sussman
2

Ich hatte das gleiche Problem - mcrypt wurde als für CLI installiert angezeigt, fehlte jedoch über die Befehlszeile. Um das zu beheben, rannte ich

#php -i

um den Speicherort der php.ini-Datei der Befehlszeilenversion zu finden und dann hinzuzufügen

extension=mcrypt.so

Danach #php -mzeigt Ihnen das Ausführen , welche Module für die Befehlszeilenversion installiert sind und welche mcrypt vorhanden sein sollte. Wenn nicht, Ihre „Lösung 1“ und „Lösung 2“ Optionen sollten Sie das Modul helfen bauen - dann nur sicherstellen , dass das Modul installiert ist (oder kopiert wird) , um Ihre PHP - Installationsmodul (Erweiterung) Verzeichnis (so etwas wie /usr/lib/php/extensions/no-debug-non-zts-20100525/oder prüfen , wo extensions_dirWert in php.ini zeigt auf).

Kristen Waite
quelle
0

Nun, ich bin einfach zu den Grundlagen zurückgekehrt und habe Mac Server deinstalliert und bin zu MAMP zurückgekehrt. Dadurch wurden die neuesten erforderlichen Updates und Installationen durchgeführt, da mein System mit zwei separaten Installationen usw. In Konflikt stand

Simon Davies
quelle