2010-02-05 13 views
5

Traté de encontrar una forma simple de actualizar PHP en mi máquina CentOS5 usando yum en lugar de descargar la fuente y compilarla yo mismo (lo hice la última vez, pero es realmente difícil para obtener todas las configuraciones de compilación como las predeterminadas de CentOS). De todos modos, finalmente utilizar los métodos enumerados aquí: http://www.atomicorp.com/wiki/index.php/PHPActualizar PHP a 5.2.12 en CentOS usando yum

Ahora, el comando php -v muestra la versión ya está 5.2.11 (que necesitaba), pero siempre contiene muchas advertencias como:

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 

Creo que básicamente significa que necesito recompilar estos cuatro módulos, ¿cómo podría hacerlo? Cualquier sugerencia es apreciada

Respuesta

0

PHP no está instalado de una vez, es modular. Entonces tiene cosas como las que usted mencionó que están diseñadas para una versión diferente de PHP. Tendrá que instalar todos los complementos que está utilizando para su implementación para la versión de PHP que ha instalado.

Respuesta breve, si quiere una versión de PHP REALMENTE actualizada, no use CentOS. Es solo un dolor. CentOS se trata de estabilidad, no de software de vanguardia. Usa Ubuntu o Debian.

Respuesta larga, su mejor opción sin duda es compilar desde el origen o encontrar un repositorio que proporcione PHP 5.1.whatyouneed. Aconsejaría no usar un repositorio a menos que esté MUY seguro de que proviene de una fuente acreditada.

Si tuviera que hacer esto, compilaría PHP desde la fuente. Aquí hay un enlace para que comiences: http://www.wolflabs.org/2008/12/08/installing-php-from-source-on-centos-x86_64-w-apache/

+1

Estoy de acuerdo contigo. sin embargo, tengo que seguir con CentOS (es el entorno del servidor de producción, el desarrollador es mejor ser el mismo). En realidad, descubrí que podía usar 'yum upgrade php-mssql php-mcrypt' para eliminar las advertencias, pero para las otras dos, no sé a qué dos módulos debería llamar. – WilliamLou

+0

bien. Lo averiguo, ejecute: pecl upgrade fileinfo, memcache – WilliamLou

0

Deberías tomar the SRPM, reemplazar el tarball y reconstruirlo. Es posible que desee tomar the "extras" SRPM también si necesita algo de él.

0

Trate

pecl instalar fileinfo readline Memcache

Y esto debería solucionar el problema.

0

pecl install memcache

trabajado para mí correr Centos 5.5

0

Seguí un wiki CentOS sobre cómo actualizar PHP usando un repositorio de pruebas: http://wiki.centos.org/HowTos/PHP_5.1_To_5.2

que estaba recibiendo errores de fileinfo y Memcache, por lo Intenté:

pecl install fileinfo memcache 

... y todas las advertencias desaparecieron.

1

Esto es realmente fácil, necesita agregar un repositorio de yum actualizado y luego actualizarlo.

un ejemplo está aquí.


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 

Después de esto, obtendría las últimas versiones de php y otras extensiones. ¡¡Funciona!!