2010-02-05 16 views
5

Ho cercato di trovare un modo semplice per aggiornare PHP sulla mia macchina CentOS5 usando yum invece di scaricare l'origine e compilarla di nuovo (l'ho fatto l'ultima volta, ma è davvero difficile per ottenere tutte le configurazioni di compilazione uguali alle impostazioni predefinite di CentOS). Ad ogni modo, ho finalmente utilizzare i metodi elencati qui: http://www.atomicorp.com/wiki/index.php/PHPAggiornamento da PHP a 5.2.12 su CentOS usando yum

Ora, il comando php -v mostra la versione è già 5.2.11 (che mi serviva), ma contiene sempre molti avvertimenti come:

PHP Warning: PHP Startup: fileinfo: Unable to initialize module 
Module compiled with module API=20050922, debug=0, thread-safety=0 
PHP compiled with module API=20060613, debug=0, thread-safety=0 
These options need to match 
in Unknown on line 0 

PHP Warning: PHP Startup: mcrypt: Unable to initialize module 
Module compiled with module API=20050922, debug=0, thread-safety=0 
PHP compiled with module API=20060613, debug=0, thread-safety=0 
These options need to match 
in Unknown on line 0 

PHP Warning: PHP Startup: memcache: Unable to initialize module 
Module compiled with module API=20050922, debug=0, thread-safety=0 
PHP compiled with module API=20060613, debug=0, thread-safety=0 
These options need to match 
in Unknown on line 0 

PHP Warning: PHP Startup: mssql: Unable to initialize module 
Module compiled with module API=20050922, debug=0, thread-safety=0 
PHP compiled with module API=20060613, debug=0, thread-safety=0 
These options need to match 
in Unknown on line 0 

Penso che in pratica significhi che ho bisogno di ricompilare questi quattro moduli, come potrei farlo? Qualsiasi suggerimento è apprezzato.

risposta

0

PHP non è installato tutto in una volta, è modulare. Quindi hai cose come quelle elencate per una versione diversa di PHP. Dovrai installare tutti i plugin che stai utilizzando per la tua implementazione per la versione di PHP che hai installato.

Risposta breve, se si desidera una versione PHP REALMENTE aggiornata, non utilizzare CentOS. È solo un dolore CentOS parla di stabilità, non di software all'avanguardia. Usa Ubuntu o Debian.

Risposta lunga, l'opzione migliore è di compilare dal sorgente o trovare un repository che fornisca PHP 5.1.whatyouneed. Vi sconsigliamo di usare un repository a meno che non siate MOLTO sicuri che provenga da una fonte attendibile.

Se dovessi farlo, compilarò PHP dalla sorgente. Ecco un link per iniziare: http://www.wolflabs.org/2008/12/08/installing-php-from-source-on-centos-x86_64-w-apache/

+1

Sono d'accordo con te. tuttavia, devo stare con CentOS (è l'ambiente del server di produzione, lo sviluppatore è meglio essere lo stesso). In realtà, ho appena scoperto che potevo usare "yum upgrade php-mssql php-mcrypt" per rimuovere gli avvertimenti, ma per gli altri due, non so quali due moduli dovrei chiamare. – WilliamLou

+0

ok. Lo capisco, eseguo: pecl upgrade fileinfo, memcache – WilliamLou

0

Si dovrebbe prendere the SRPM, sostituire il tarball e ricostruirlo. Si consiglia di afferrare the "extras" SRPM anche se avete bisogno di qualcosa da esso.

0

Prova

PECL installare fileinfo readline memcache

E questo dovrebbe risolvere il problema.

0

pecl install memcache

ha lavorato per me in esecuzione CentOS 5.5

0

ho seguito un wiki CentOS su come aggiornare PHP utilizzando un repository testing: http://wiki.centos.org/HowTos/PHP_5.1_To_5.2

stavo ottenendo gli errori per fileinfo e memcache, così Ho provato:

pecl install fileinfo memcache 

... e tutti gli avvisi sono scomparsi.

1

Questo è veramente facile, è necessario aggiungere più repository yum aggiornati e quindi eseguire l'aggiornamento.

un esempio è qui.


cat >> /etc/yum.repos.d/utterramblings.repo <<END 
[utterramblings] 
name=Jason's Utter Ramblings Repo 
baseurl=http://www.jasonlitka.com/media/EL5/i386/ 
enabled=1 
gpgcheck=1 
gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka 

Dopo questo si otterrebbero le ultime versioni di php e altre estensioni. Funziona!!

Problemi correlati