Como instalar o mcrypt na versão dual do PHP CentOS 6?

2

Eu tenho duas versões paralelas do PHP instaladas no CentOS 6.5 através deste método

[root@host ~]# php -i | grep "PHP Version"
PHP Version => 5.3.3
[root@host ~]# /opt/rh/php54/root/usr/bin/php -i | grep "PHP Version"
PHP Version => 5.4.16

As instalações vieram de

[root@host ~]# rpm -q php php-mcrypt
php-5.3.3-27.el6_5.1.x86_64
php-mcrypt-5.3.3-3.el6.x86_64
[root@host ~]# rpm -q php54 php54-mcrypt
php54-1-7.el6.centos.alt.x86_64
package php54-mcrypt is not installed
[root@host ~]# rpm -q libmcrypt
libmcrypt-2.5.8-4.el6.art.x86_64
[root@host ~]# rpm -q libmcrypt-devel
libmcrypt-devel-2.5.8-4.el6.art.x86_64

Em sites que executam o PHP 5.3.3, o mcrypt funciona bem. Eu preciso fazer o mcrypt disponível para os sites rodando 5.4.16. Naturalmente eu tentei yum install php54-mcrypt , mas isso retorna No package php54-mcrypt available. . Os seguintes repos estão ativados:

asl-4.0 
base 
epel 
extras 
scl 
updates 
virtualmin 
virtualmin-universal

Então eu procurei por um RPM e encontrei esse aqui . Mas se eu tentar instalar este RPM, ele tentará atualizar o atual PHP mcrypt, que eu preciso continuar rodando para sites no 5.3.3. Tenho a impressão de que o php-mcrypt precisa ser exato para a versão php e não é compatível com versões anteriores.

Eu preciso instalar o mcrypt para o PHP 5.4.16, onde PHPZTS="" e PHPAPI = 20100525. Como posso fazer isso?

    
por Gaia 19.08.2014 / 12:18

2 respostas

2

Eu usei rpm2cpio para converter o único arquivo .rpm adequado Eu encontrei um arquivo cpio no padrão.

$ rpm2cpio php-mcrypt-5.4.16-1.el6.x86_64.rpm | cpio -idmv

Eu então copiei mcrypt.so um mcrypt.ini para as pastas apropriadas para a instalação do PHP 5.4.

Voilá, o mcrypt funciona agora!

    
por 19.08.2014 / 13:25
1

Infelizmente, a coleção CentOS SCL para php54 não inclui php54-mcrypt.

Você pode pegar o SRPM para o php-mcrypt-5.4 e modificar a especificação para alterar o nome do pacote, local de instalação, etc. Em outros, crie seu próprio pacote (verifique rpmbuild ).

Ou você também pode usar rcollet como uma alternativa.

    
por 19.08.2014 / 13:19