Como instalar o mcrypt para PHP 5.3.3 no CentOS 5.7 de 64 bits?

11

Eu instalei o php 5.3 e alguns módulos usando

yum install php53-{module-name}

Mas o mcrypt não funcionou.

Eu procurei assim:

yum list php* | grep mcry

O único pacote que surgiu foi

php-mcrypt.x86-64         5.1.6-15.e15.centos.1    extras

Eu tenho o mesmo problema exato com mhash. Os resultados para php são ainda mais confusos.

Eu sei que essa é provavelmente uma pergunta idiota, mas qualquer ajuda seria apreciada. Estou acostumado com a simples instalação do apt-get do Ubuntu e tudo funciona. O CentOS parece ser muito mais detalhista.

Obrigado.

EDIT: Aqui está o que eu tentei:

yum install php53-mcrypt

Resultado:

No package php53-mcrypt available

E tentando isso:

yum install php-mcrypt

Resulta em:

Error: php53-common conflicts with php-common

Como o php-mcrypt tenta obter o php-common como uma dependência (?) E eu estou tentando usar o php 5.3 em vez do php 5.1 padrão no CentOS 5.7.

Buttle Butkus
fonte
O que exatamente não funcionou e como falhou? Você poderia fornecer um trecho de saída?
Colechristensen
Atualizei minha postagem com algumas das coisas que tentei e a saída.
Buttle Butkus

Respostas:

18

O php 5.3 é realmente necessário para o que você está fazendo? Não assuma automaticamente que o mais recente é melhor.

Se você atualizar para o CentOS 6 php 5.3, é o padrão.

O que você precisa entender é que o RedHat (e, portanto, seus clones) é muito conservador quanto à atualização de pacotes por um bom motivo. Se você deseja fazer o push e obter mais pacotes atualizados, espere problemas.

Dito isto, o pacote que você está procurando existe! Tudo que você precisa fazer é

rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
yum install php53-mcrypt

O repositório EPEL contém mais e mais pacotes atualizados para complementar o repositório padrão.


Instale o repositório EPEL no CentOS Linux 5.5 de 32 bits:

rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm

Instale o repositório EPEL no CentOS Linux 5.5 de 64 bits:

rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
colechristensen
fonte
Não, o php 5.3 não é realmente necessário. Mas o php 5.2+ é. De qualquer forma, não posso usar o PHP padrão usado no CentOS 5.7. Se a instalação do 5.2 com todos os pacotes necessários for significativamente mais fácil, certamente o faria. Mas como também não é o padrão, presumo que seja tão difícil e, portanto, posso me esforçar tanto para o 5.3 quanto para o 5.2. ??
Buttle Butkus
Execute os comandos para instalar o EPEL e seus problemas serão resolvidos facilmente.
precisa saber é o seguinte
Além disso, se não houvesse muitos problemas, você poderia explicar como encontrou o pacote e garantiu que ele era o correto para a versão do SO, processador (32/64 bits) e versão do PHP? Ou seja, qual ferramenta você usou para encontrar o URL do rpm que forneceu o pacote exato que você precisava? Muito obrigado!
precisa saber é o seguinte
1
Portanto, o yum install php53-mcrypt funcionou, mas infelizmente o php53-mhash e o php53-pear não foram encontrados. Isso significa que eles não existem no EPEL?
precisa saber é o seguinte
1
Essa resposta funcionou para mim. Não se esqueça de reiniciar,, /etc/init.d/httpd restartpara visualizar as alterações.
21712 Josh
2

Este será trabalho definitivamente no CentOS / Versões RHEL 6 +.
Espero que uma abordagem semelhante funcione em mais de 5 versões.

rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum update
yum install -y php-mcrypt
夏 期 劇場
fonte
1

Como as pessoas ainda estão vindo para cá, vou dar uma resposta que ainda não vi.

Eu corro o CentOS, mas também preciso me manter atualizado com o PHP e o MySQL, com versões posteriores ao que a Red Hat escolhe fornecer. Para resolver esse problema, eu uso o repositório remi , que fornece pacotes atuais de PHP, MySQL, Symfony e algumas outras coisas para o CentOS.

(E eu acabei de descomissionar a última caixa do CentOS 5 menos de uma hora atrás, viva!)

Michael Hampton
fonte
Acabei resolvendo meu problema e, apesar de meses atrás, acredito que estava usando o repositório remi. Também me lembro de ter encontrado algumas falhas. Eu tive que desinstalar / reinstalar várias vezes antes de tudo dar certo.
Buttle Butkus
Remi ficou logo atrás do EPEL nos repositórios que adiciono a uma caixa CentOS recém-instalada. Poupa muitas dores de cabeça depois. :)
Michael Hampton
-1

Inicialmente, descubra qual versão do PHP você está usando:

rpm -q php
output:php-5.3.3-22.el6.x86_64

Encontre o pacote RPM apropriado em http://rpmfind.net/linux/rpm2html/search.php?query=php-mcrypt (corresponda à sua versão do PHP e arquitetura da CPU)

Para mim, foi ftp://rpmfind.net/linux/epel/6/x86_64/php-mcrypt-5.3.3-1.el6.x86_64.rpm

Isso completa a instalação:

wget -c ftp://rpmfind.net/linux/epel/6/x86_64/php-mcrypt-5.3.3-1.el6.x86_64.rpm
rpm -i --nodeps php-mcrypt-5.3.3-1.el6.x86_64.rpm

Verifique se php -vhá erros.

Maulik Shah
fonte
Melhor instalar os repositórios EPEL corretamente para que quaisquer dependências sejam resolvidas corretamente. Você não ir à caça de pacotes aleatórios sobre a rede!
vonbrand
sim @vonbrand, você está certo que eu tentei, mas não encontrou um, tão acostumados acima solução para resolver o problema rapidamente
Maulik Shah
-2

Parece que você terá que compilá-lo você mesmo, pois não parece haver um RPM mcrypt para php-5.3 no CentOS5.

Dê uma olhada nisto em como fazer a compilação:

http://chrisjean.com/2011/06/24/upgrade-php-5-1-or-5-2-to-5-3-on-centos/

Observe que isso o tirará do gerenciamento de pacotes para mcrypt e pear, se isso for importante.

cjc
fonte
Gerenciar pacotes manualmente como esse quando o problema real em que você está trabalhando é completamente diferente ... geralmente é um erro. Você não saberá sobre atualizações de segurança, correções de bugs e terá uma chance sólida de estragar tudo e desperdiçar seu tempo corrigindo os problemas errados. Isso e o EPEL, um repositório afiliado ao RedHat, publica um pacote php53-mcrypt para distribuições baseadas em EL5.
precisa saber é o seguinte
Estou bastante ciente dos problemas. O problema é que, a partir das perguntas anteriores do pôster original, ele está em dificuldades para tentar executar o php 5.3 em uma instância do CentOS5. No post que eu citei, ele vai se ferrar de qualquer maneira, já que não existem pacotes php53-mcrypt e php53-pear, portanto, não importa o que ele faça, ele estará fora do controle de versão. Se ele precisa estar em uma caixa do CentOS5, ele não tem muita escolha se precisar de php mcrypt e pear.
CJC
Na verdade, o php53-mcrypt foi instalado quando eu segui o post de colechristensen. Mas php53-pear e php53-mhash falharam. Eu não quero mexer na compilação, então acho que as melhores opções são 1: tente fazer tudo isso novamente com o php52 (eu preciso pelo menos do php 5.2). E se isso falhar, eu tentaria atualizar o CentOS para 5.7. E se isso falhar, compre um novo servidor e instale um SO operacional.
precisa saber é o seguinte