2014-09-30 26 views
7

Stavo seguendo un tutorial online sull'installazione di Magento su Ubuntu, ma ottengo questo errore nella configurazione: php extension mcrypt must be loaded. Ho già provato: sudo apt-get install php5-mcrypt ma questo non ha funzionato per me. Ho avuto lo stesso problema con arricciatura ma quando ho provato: sudo apt-get install php5-curl ha funzionato per me. Come posso risolvere questo problema con mcrypt? Ho già provato a riavviare il webserver.estensione php mcrypt deve essere caricato

+0

Cosa significa "non ha funzionato"? Ha provato a installare e errore? è stato installato ma mcrypt non è visibile in PHP? Ha bruciato spontaneamente il tuo server? –

+0

@MarkBaker Ovviamente voglio dire rimuovere l'errore ... – Loko

+0

Non è ovvio, e ancora non è ovvio ..... quale output è stato visualizzato quando hai fatto 'sudo apt-get install php5-mcrypt'?Sono stati visualizzati messaggi di errore? Non posso certamente dire se l'installazione di mcrypt o curl non è riuscita, o se semplicemente non hai configurato correttamente PHP per usarli –

risposta

31

Spero che il tuo sistema sia ubuntu mentre hai aggiunto il tag.

Su Ubuntu quando si esegue sudo apt-get install php5-mcrypt in realtà non installa l'estensione nelle mod disponibili. Avrai bisogno di un collegamento simbolico.

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

Quindi abilitare l'estensione e riavviare Apache.

sudo php5enmod mcrypt 
sudo service apache2 reload 
+2

Non sono sicuro che sia necessario il passaggio del collegamento simbolico poiché viene sempre inserito nella posizione corretta per me quando chiamo 'php5enmod'. Inoltre si potrebbe ottenere un 'reload' invece di' restart' su Apache. – Treffynnon

+2

@Treffynnon, giusto, solo php5enmod funzionerebbe qui. Sì, possiamo solo ricaricare invece di riavviare. Modificato lo stesso. Grazie ... –

+0

In Ubuntu 14.04 è sufficiente abilitare l'estensione e riavviare apache. Vedi anche http://magento.stackexchange.com/q/36954/26260 e http://askubuntu.com/q/380280/18928. – user272735

0

È necessario modificare php.ini e rimuovere il; prima della riga in cui è caricata l'estensione = php_mcrypt (dovresti riavviare apache in seguito).

+0

in quale mappa è il php.ini quando si usa apache btw? – Loko

+0

eseguire ' 'e cerca' File di configurazione caricato' – giorgio

1

Non so perché il tuo PHP.INI sia leggermente diverso dal mio. O perché non ho bisogno di usare PHP5ENMOD.

Ecco come ho risolto lo stesso problema:

1) Assicurarsi che sia installato sul mio distribuzione, che non è il problema maggior parte delle persone stanno avendo.

2) Controllare la configurazione di PHP per accertarsi che sia caricata (non lo era). Ecco il codice per una pagina di informazioni sulla configurazione di PHP:

<?php 
phpinfo(); 
?> 

Eseguirlo in un browser. Se MCrypt è abilitato (che è NON), si vedrà un intero tavolo dedicato ad essa con le informazioni simmilar (Si vedrà in seguito):

mcrypt 
mcrypt support enabled 
mcrypt_filter support enabled 
Version  2.5.8 
Api No 20021217 
Supported ciphers cast-128 gost rijndael-128 twofish arcfour cast-256 loki97 rijndael-192 saferplus wake blowfish-compat des rijndael-256 serpent xtea blowfish enigma rc2 tripledes 
Supported modes  cbc cfb ctr ecb ncfb nofb ofb stream 

Directive Local Value Master Value 
mcrypt.algorithms_dir no value no value 
mcrypt.modes_dir no value no value 

3) Nella stessa pagina viene per la posizione del tuo file PHP.INI. per esempio:

Configuration File (php.ini) Path /etc/php5/apache2 
Loaded Configuration File /etc/php5/apache2/php.ini 

mia distribuzione aveva questo file in una posizione diversa, ma per linux basta aggiungere o rimuovere il commento in modo da avere:

extension=mcrypt.so 

Riavviare il server Apache per assicurarsi. Ora dovresti controllare la pagina di configurazione e vedere che MCRYPT è stato caricato.

+0

'extension = mcrypt.so' ha reso il lavoro – turson

0

Hi basta copiare queste righe cmd e incollare nel vostro terminale

sudo apt-get install php5-intl 
sudo apt-get install php5-xsl 
sudo php5enmod xsl 
sudo service apache2 restart 
0

Nel mio caso, con Nginx e PHP-FPM, una volta attivata l'estensione attraverso questo comando: sudo php5enmod mcrypt ho bisogno di riavviare php5- fpm usando questo comando: sudo service php5-fpm restart