Come installare mcrypt per PHP 5.3.3 su CentOS 5.7 a 64 bit?


11

Ho installato php 5.3 e alcuni moduli usando

yum install php53-{module-name}

Ma mcrypt non ha funzionato.

Ho cercato in questo modo:

yum list php* | grep mcry

L'unico pacchetto che è venuto fuori era

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

Ho lo stesso identico problema con mhash. I risultati per php sono ancora più confusi.

So che questa è probabilmente una domanda stupida, ma qualsiasi aiuto sarebbe apprezzato. Sono abituato alla semplice "apt-get install" di Ubuntu e tutto funziona. CentOS sembra essere molto più orientato ai dettagli.

Grazie.

EDIT: Ecco cosa ho provato:

yum install php53-mcrypt

Risultato:

No package php53-mcrypt available

E provando questo:

yum install php-mcrypt

Risultati in:

Error: php53-common conflicts with php-common

Perché php-mcrypt cerca di ottenere php-common come dipendenza (?) E sto cercando di usare php 5.3 anziché il php 5.1 predefinito su CentOS 5.7.


Cosa non ha funzionato esattamente e come è fallito? Potresti fornire uno snippet di output?
Colechristensen,

Ho aggiornato il mio post con alcune delle cose che ho provato e l'output.
Buttle Butkus,

Risposte:


18

Php 5.3 è davvero necessario per quello che stai facendo? Non dare per scontato che il più recente sia migliore.

Se si aggiorna a CentOS 6 php 5.3 è l'impostazione predefinita.

Quello che devi capire è che RedHat (e quindi i suoi cloni) è molto prudente sull'aggiornamento dei pacchetti con buone ragioni. Se vuoi spingerlo e ottenere più pacchetti aggiornati, aspettati problemi.

Detto questo, il pacchetto che stai cercando esiste! Tutto quello che devi fare è

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

Il repository EPEL contiene più e più pacchetti aggiornati per completare il repository predefinito.


Installa il repository EPEL su CentOS Linux 5.5 a 32 bit:

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

Installa il repository EPEL su CentOS Linux 5.5 a 64 bit:

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

No, php 5.3 non è davvero necessario. Ma php 5.2+ è. Ad ogni modo, non posso usare il PHP predefinito usato in CentOS 5.7. Se l'installazione di 5.2 con tutti i pacchetti di cui ho bisogno è notevolmente più semplice, lo farei sicuramente. Ma dal momento che non è neanche il default, presumo che potrebbe essere altrettanto difficile e quindi posso anche fare lo sforzo per 5.3 come per 5.2. ??
Buttle Butkus,

Esegui i comandi per installare EPEL e i tuoi problemi saranno risolti facilmente.
Colechristensen,

Inoltre, se non ci fossero troppi problemi, potresti spiegare come hai trovato il pacchetto e assicurato che fosse quello corretto per la versione del sistema operativo, il processore (32/64 bit) e la versione PHP? Cioè quale strumento hai usato per trovare l'URL rpm che ti ha dato il pacchetto esatto di cui avevi bisogno? Molte grazie!
Buttle Butkus,

1
Quindi, yum install ha funzionato php53-mcrypt, ma purtroppo php53-mhash e php53-pear non sono stati trovati. Questo significa che non esistono su EPEL?
Buttle Butkus,

1
Questa risposta ha funzionato per me. Non dimenticare di riavviare /etc/init.d/httpd restart, per visualizzare le modifiche.
Josh,

2

Questo sarà il lavoro sicuramente su versioni CentOS / RHEL 6+.
Spero che un approccio simile funzioni su 5+ versioni.

rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum update
yum install -y php-mcrypt

1

Dato che la gente viene ancora qui, ho intenzione di dare una risposta che non ho ancora visto.

Gestisco CentOS ma devo anche tenermi aggiornato con PHP e MySQL, con versioni successive che Red Hat sceglie di fornire. Per risolvere questo problema, utilizzo il repository remi , che fornisce i pacchetti attuali di PHP, MySQL, Symfony e alcune altre cose per CentOS.

(E ho appena disattivato l'ultimo box CentOS 5 meno di un'ora fa, evviva!)


Ho finito per risolvere il mio problema e, sebbene fosse mesi fa, credo che stesse usando il repository remi. Ricordo anche di aver incontrato alcuni difetti. Ho dovuto disinstallare / reinstallare più volte prima che tutto andasse per il verso giusto.
Buttle Butkus,

Remi è diventato subito dietro EPEL nei repository che aggiungo a una scatola CentOS appena installata. Risparmia molto mal di testa in seguito. :)
Michael Hampton

-1

Inizialmente, scopri quale versione di PHP stai utilizzando:

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

Trova il pacchetto RPM appropriato su http://rpmfind.net/linux/rpm2html/search.php?query=php-mcrypt (abbina la versione di PHP e l'architettura della CPU)

Per me è stato ftp://rpmfind.net/linux/epel/6/x86_64/php-mcrypt-5.3.3-1.el6.x86_64.rpm

Questo completa l'installazione:

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

Controlla php -verrori.


Installare meglio i repository EPEL correttamente in modo che eventuali dipendenze vengano risolte correttamente. Do Non andare a caccia di pacchetti casuali sopra la rete!
vonbrand,

sì @vonbrand, hai ragione, l'ho provato, ma non ne ho trovato uno, quindi ho usato la soluzione sopra per risolvere rapidamente il problema
Maulik Shah

-2

Sembra che dovrai compilarlo da solo, poiché non sembra esserci un RPM mcrypt per php-5.3 su CentOS5.

Dai un'occhiata a come eseguire la compilazione:

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

Nota che questo ti porterà fuori dalla gestione dei pacchetti per mcrypt e pear, se questo è importante.


Gestire manualmente pacchetti come questo quando il vero problema su cui stai lavorando è completamente diverso ... di solito è un errore. Non conoscerai gli aggiornamenti di sicurezza, le correzioni dei bug e avrai una solida possibilità di rovinare tutto e perdere tempo a risolvere i problemi sbagliati. Questo ed EPEL, un repository affiliato a RedHat, pubblica un pacchetto php53-mcrypt per le distribuzioni basate su EL5.
Colechristensen,

Sono abbastanza consapevole dei problemi. Il problema è che, dalle precedenti domande del poster originale, è in difficoltà nel tentativo di far funzionare php 5.3 su un'istanza di CentOS5. Dal post sul blog che ho citato, verrà comunque fregato, dato che non ci sono pacchetti php53-mcrypt e php53-pear, quindi qualunque cosa faccia sarà fuori controllo. Se deve essere su una scatola CentOS5, non ha molta scelta se ha bisogno di php mcrypt e pera.
cjc

In realtà, php53-mcrypt è stato installato quando ho seguito il post di colechristensen. Ma php53-pear e php53-mhash hanno fallito. Non voglio fare casini con la compilazione, quindi penso che le opzioni migliori siano 1: prova a ripetere tutto con php52 (ho bisogno almeno di php 5.2). E se fallisce, proverei ad aggiornare CentOS a 5.7. E se ciò non funziona, acquista un nuovo server e installa un sistema operativo funzionante.
Buttle Butkus,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.