Have You Tried IT ?

Information Technology from scratch

Instalacja mcrypt w CentOs 64-bit

Dodano przez Kategoria: Linux

Aby korzystać ze skryptu Magento niezbędna jest biblioteka mcrypt do PHP. Jako że moja konfiguracja serwera (CentOs + Plesk) nie posiadała tej biblioteki w standardzie, należało ją doinstalować samodzielnie.

Najprostszym rozwiązanie będzie wykorzystanie menadżera pakietów  yum

yum install php-mcrypt

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * atomic: www6.atomicorp.com
Excluding Packages in global exclude list
Finished
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package php-mcrypt.i386 0:5.2.17-1.el5.art set to be updated
--> Processing Dependency: libmcrypt.so.4 for package: php-mcrypt
---> Package php-mcrypt.x86_64 0:5.2.17-1.el5.art set to be updated
--> Finished Dependency Resolution
php-mcrypt-5.2.17-1.el5.art.i386 from atomic has depsolving problems
  --> Missing Dependency: libmcrypt.so.4 is needed by package php-mcrypt-5.2.17-1.el5.art.i386 (atomic)
Error: Missing Dependency: libmcrypt.so.4 is needed by package php-mcrypt-5.2.17-1.el5.art.i386 (atomic)
 You could try using --skip-broken to work around the problem
 You could try running: package-cleanup --problems
                        package-cleanup --dupes
                        rpm -Va --nofiles --nodigest
The program package-cleanup is found in the yum-utils package.

Instalacja zostaje przerwana i informuje o braku libmcrypt.

Należy więc w ten sam sposób doinstalować brakujący pakiet. Tutaj uwaga, gdyż libmcrypt występować może w dwóch pakietach (libmcrypt.x86_64 oraz libmcrypt-devel.x86_64). Aby sprawdzić czy mamy którykolwiek zainstalowany należy użyć:

yum list installed | grep libmcrypt

W moim przypadku zainstalowany był tylko libmcrypt.x86_64, tak więc dla pewności doinstalowałem również ten z -devel w nazwie.
Jeżeli nie ma obydwu pozycji na liście najlepiej przejść do instalacji pakietów wpisując:

yum install libmcrypt*

gwiazdka (*) oznacza, że zostanie dopasowana nazwa do wszystkich możliwych pakietów.

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * atomic: www6.atomicorp.com
Excluding Packages in global exclude list
Finished
Setting up Install Process
Package libmcrypt-2.5.8-4.el5.centos.x86_64 already installed and latest version
Resolving Dependencies
--> Running transaction check
---> Package libmcrypt-devel.x86_64 0:2.5.8-4.el5.centos set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

============================================================================================================================================
 Package                              Arch                        Version                                 Repository                   Size
============================================================================================================================================
Installing:
 libmcrypt-devel                      x86_64                      2.5.8-4.el5.centos                      extras                       10 k

Transaction Summary
============================================================================================================================================
Install       1 Package(s)
Upgrade       0 Package(s)

Total download size: 10 k
Is this ok [y/N]: y
Downloading Packages:
libmcrypt-devel-2.5.8-4.el5.centos.x86_64.rpm                                                                        |  10 kB     00:00
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : libmcrypt-devel                                                                                                      1/1

Installed:
  libmcrypt-devel.x86_64 0:2.5.8-4.el5.centos

Complete!

Pakiet libmcrypt-devel został pomyślnie zainstalowany i wydawać by się mogło, że wystarczy teraz tylko rozpocząć instalacje php-mcrypt i powinno już pójść bez problemów, ale nic z tych rzeczy! Otóż pojawia się ten sam błąd co za pierwszym razem.

Zgodnie z informacjami znalezionymi w Google i tutaj, w przypadku systemów 64-bitowych trzeba być bardziej precyzyjnym przy podawaniu nazwy instalowanego pakietu mcrypt:

yum install php-mcrypt.x86_64

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * atomic: www6.atomicorp.com
Excluding Packages in global exclude list
Finished
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package php-mcrypt.x86_64 0:5.2.17-1.el5.art set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

============================================================================================================================================
 Package                          Arch                         Version                                   Repository                    Size
============================================================================================================================================
Installing:
 php-mcrypt                       x86_64                       5.2.17-1.el5.art                          atomic                        28 k

Transaction Summary
============================================================================================================================================
Install       1 Package(s)
Upgrade       0 Package(s)

Total download size: 28 k
Is this ok [y/N]: y
Downloading Packages:
php-mcrypt-5.2.17-1.el5.art.x86_64.rpm                                                                               |  28 kB     00:00
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : php-mcrypt                                                                                                           1/1

Installed:
  php-mcrypt.x86_64 0:5.2.17-1.el5.art

Complete!

Dopiero teraz instalacja php-mcrypt zakończyła się pomyślnie.

Aby sprawdzić czy faktycznie jest wystarczy w konsoli wpisać:

php -i | grep '^mcrypt'

i jeżeli wyświetli się:

mcrypt
mcrypt support => enabled
mcrypt.algorithms_dir => no value => no value
mcrypt.modes_dir => no value => no value

to znaczy, że wszystko jest OK i można już sobie instalować np. Magento 😉

 

Dodaj komentarz

XHTML: Dozwolone znaczniki: <a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="">