Actualizar a PHP 5.3.x en CentOS

Para actualizar a PHP 5.3.x en CentOS siga los siuientes pasos
Nota: Este procedimiento ha sido probado en CentOS 5.5, pero debe funcionar para todas las versiones 5.x, si la versión de CentOS es anterior a la versión 5, antes de actualizar el SO remítase al sitio oficial

  1. Actualizar CentOS
  2. # yum update
    
  3. Reiniciar

    # reboot
    
  4. Desintalar php-5.1.x
  5. # yum remove php*
    
  6. Instalar php-5.3
  7. Se han seleccionado varias extensiones, solo instale la que Ud. necesite

    # yum install php53 php53-mbstring php53-gd 
    php53-mysql php53-xml php53-soap php53-pdo
    
  8. Instalación de PEAR
  9. CentOS-5.6 no provee el paquete php53-pear (Pear para php-5.3)

    • Descargar http://pear.php.net/go-pear.phar

      $ wget http://pear.php.net/go-pear.phar
    • Renombrar /usr/share/pear a /usr/share/pear.old (Este paso es necesario solo si anteriormente había instalado PEAR)
    • # mv -fv /usr/share/pear a /usr/share/pear.old
      
    • Instalar PEAR

      # php go-pear.phar
      

      Especificar la siguiente información

      1. Installation base ($prefix)        : /usr/share/pear
      2. Temporary directory for processing : /tmp/pear/install
      3. Temporary directory for downloads  : /tmp/pear/install
      4. Binaries directory                 : /usr/share/pear/bin
      5. PHP code directory ($php_dir)      : /usr/share/pear/share/pear
      6. Documentation directory            : /usr/share/pear/docs
      7. Data directory                     : /usr/share/pear/data
      8. User-modifiable configuration...   : /usr/share/pear/cfg
      9. Public Web Files directory         : /usr/share/pear/www
      10. Tests directory                   : /usr/share/pear/tests
      11. Name of configuration file        : /usr/share/pear/.pearrc
      
    • Crear enlace simbólico

      # sudo ln -s /usr/share/pear/bin/pear /usr/bin/pear && 
      sudo ln -s /usr/share/pear/bin/pecl /usr/bin/pecl
      
    • Usar pear

      $ pear help
  10. Si necesita la extension mcrypt debe compilarla (CentOS-5.6 no provee php53-mcrypt). Este procedimiento sirve par otra extensiones que CentOS no provea
    • Instalar php53-devel y la coleccion de compiladores GNU (GCC)

      $ sudo yum install php53-devel gcc
      
    • Instalar la libreria mcrypt

      $ sudo yum install libmcrypt libmcrypt-devel
      
    • Decargar php-5.3.3

      $ wget http://www.php.net/get/php-5.3.3.tar.bz2
      /from/us.php.net/mirror
      
    • Extraer e ir al dir donde se encuentra mcrypt

      $ tar xjvf php-5.3.3.tar.bz2
      $ cd php-5.3.3/ext/mcrypt/
      
    • Configurar e instalar

      $ phpize && ./configure && make && sudo make install 
      
    • Crear fichero de configuración

      $ sudo echo "extension=mcrypt.so" > /etc/php.d/mcrypt.ini
      
    • Reiniciar apache

      $ sudo service httpd restart
      
    • Comprobar fichero de configuración del php

      $ php -i
      mcrypt support => enabled
      ...
      



9 Comentarios

  1. fernanlob

    Está muy bien el manual, pero añadiría que para tener el phpize hay que añadir en la instalación del php53 el paquete php53-devel. Muchas gracias por el tutorial.

    Responder
    1. sedlav

      Gracias por tu corrección, ya actualicé el post

      Responder
  2. Kal

    Excelente post! Gracias!

    Responder
  3. malditosan

    esta bueno el post, erpo me ocurrio un error en esta linea
    $ phpize && ./configure && make && sudo make install
    me decia algo como “no acceptable C compiler found in $PATH”

    Responder
    1. sedlav

      Es que te falta instalar la colección de compiladores GNU

      # yum -y install gcc

      Ya actualice el post. Gracias!

      Responder
  4. helido

    tengo un servidor dedicado, de esta manera no afecta a mi panel de control es cpanel , ya tengo varias cuentas cargadas en el whm, seria seguro que lo hiciera , podrian orientarme para buscar una lectura o con este tuto esta bien .

    Responder
    1. sedlav

      Si, este procedimiento ha sido ejecutado en servidores dedicados de producción y todo funciona ok. No obstante debes usarlo bajo tus propios riesgos y asegurarte que el código de tu aplicación funcione correctamente en php-5.3

      Responder
  5. timoteo

    como saber si php 5.3 estas corriendo? tengo instalado en Centos 5.8.

    Responder
    1. sedlav

      $ php -i | head
      phpinfo()
      PHP Version => 5.3.3

      Responder

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *