2014-09-30 13 views
7

Podążałem za tutorialem online o instalacji magento na Ubuntu, ale pojawia się ten błąd w konfiguracji: php extension mcrypt must be loaded. Próbowałem już: sudo apt-get install php5-mcrypt, ale to nie działało dla mnie. Miałem ten sam problem z curl, ale kiedy próbowałem: sudo apt-get install php5-curl to działało dla mnie. Jak naprawić to za pomocą mcrypt? Próbowałem już zrestartować serwer WWW.Rozszerzenie php mcrypt musi być załadowane

+0

Co oznacza "nie działa" w rzeczywistości? Czy próbował zainstalować i błąd? czy to się zainstalowało, ale mcrypt nie jest widoczny w PHP? Czy spontanicznie spalił twój serwer? –

+0

@MarkBaker Oczywiście mam na myśli usunięcie błędu ... – Loko

+0

To nie jest oczywiste, i nadal nie jest oczywiste ..... jaki wynik został wyświetlony, gdy zrobiłeś 'sudo apt-get install php5-mcrypt'?Czy pojawiły się jakieś komunikaty o błędach? Z pewnością nie mogę stwierdzić, czy instalacja mcrypt lub curl nie powiodła się, lub jeśli po prostu nie skonfigurowałeś poprawnie PHP, aby z nich korzystać –

Odpowiedz

31

Mam nadzieję, że Twój system jest ubuntu, gdy dodałeś tag.

W systemie Ubuntu po uruchomieniu sudo apt-get install php5-mcrypt w rzeczywistości nie instaluje rozszerzenia w dostępnych modach. Będziesz musiał dowiązać symbolicznie.

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

Następnie włącz rozszerzenie i uruchom ponownie Apache.

sudo php5enmod mcrypt 
sudo service apache2 reload 
+2

Nie jestem pewien, czy potrzebujesz kroku dowiązania symbolicznego, ponieważ jest on zawsze umieszczany we właściwej lokalizacji dla mnie, gdy nazywam 'php5enmod'. Dodatkowo możesz uniknąć 'reload' zamiast' restart' na Apache. – Treffynnon

+2

@Treffynnon, racja, tylko php5enmod by tu działał. Tak, możemy po prostu ponownie załadować, zamiast ponownie uruchomić. Edytowano tak samo. Dzięki ... –

+0

W Ubuntu 14.04 wystarczy włączyć rozszerzenie i ponownie uruchomić apache. Zobacz także http://magento.stackexchange.com/q/36954/26260 i http://askubuntu.com/q/380280/18928. – user272735

0

Powinieneś edytować plik php.ini i usunąć; przed linią, w której znajduje się rozszerzenie = php_mcrypt (powinieneś ponownie uruchomić apache).

+0

w jakiej mapie znajduje się plik php.ini podczas korzystania z apache btw? – Loko

+0

uruchom ' 'i wyszukaj' Załadowany plik konfiguracyjny' – giorgio

1

Nie jestem pewien, dlaczego twój plik PHP.INI jest nieco inny niż mój. Albo dlaczego nie potrzebowałem używać PHP5ENMOD.

Oto jak rozwiązać ten sam problem:

1) Upewnij się, że jest zainstalowany na moim dystrybucji, która nie jest problemem większości ludzi mają.

2) Sprawdź konfigurację PHP, aby upewnić się, że jest załadowana (nie była). Oto kod strony z informacjami o konfiguracji PHP:

<?php 
phpinfo(); 
?> 

Uruchom go w przeglądarce. Jeśli MCrypt jest włączona (co jest NIE), widać całą tablicę poświęconą niego z simmilar informacji (Zobaczysz to później):

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) na tej samej stronie szukać lokalizacji twojego pliku PHP.INI. na przykład:

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

Moja dystrybucja miał ten plik w innym miejscu, ale dla systemu Linux lub po prostu dodać Odkomentuj więc masz:

extension=mcrypt.so 

Uruchom ponownie serwer apache, aby upewnić się. Powinieneś teraz sprawdzić swoją stronę konfiguracji i zobaczyć, czy załadowano MCRYPT.

+0

'extension = mcrypt.so' wykonał pracę – turson

0

Hi prostu skopiuj ten cmd linii i wklej w terminalu

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

W moim przypadku, przy użyciu Nginx i PHP-FPM, raz włączony extention thru tego polecenia: sudo php5enmod mcrypt muszę zrestartować php5- fpm za pomocą tego polecenia: sudo service php5-fpm restart

Powiązane problemy