PHP4 y PHP5 corriendo en paralelo, sobre Gentoo- Linux

Enviado por admin el Dom, 19/09/2004 - 13:58.
Clasificado en:

Ahora que la migración a Linux es un hecho, necesito probar mi viejo PHP_Beautifier, el cual funciona con php5. A continuación, describiré el método para correr php 4 y php 5 en paralelo sobre nuestro querido bicho con OS-TUX.
El objetivo final, a todo esto, es tener la versión de php 4 del portage (para fácil actualización), junto a una de php5 que corra en modo CLI y CGI para apache.

  1. Descargar las fuentes de PHP 5. Esto lo pueden hacer en http://www.php.net/downloads.php. Como soy carnaza, prefiero ocupar la versión del CVS; para instalar, ocupen las instrucciones de http://www.php.net/anoncvs.php.
  2. Teniendo mi versión del código fuente en $HOME/cvs/php-src, creo un script bash llamado compilar_php5 (que novedoso), el cual compilará una versión local de php5 en /usr/local/php5

    #!/bin/bash
    
    ######################################
    # compilar_php5                      #
    #                                    #
    # Script para compilar php5 a partir #
    # del cvs en /usr/local/php5         #
    
    ######################################
    
    cd php-src
    PREFIX=/usr/local/php5
    CONF="--with-mysql --enable-fastcgi --enable-bcmath"
    ./buildconf
    ./configure $CONF --prefix=$PREFIX
    make
    make install
    
    # Truco sucio. Copio el ejecutable php a php-cgi para que no se borre al crear la 
    # versión cli
    
    mv $PREFIX/bin/php $PREFIX/bin/php-cgi
    make install-cli
    # Copiamos php.ini
    if [ ! -f $PREFIX/lib/php.ini ]
    then
    	cp php.ini-dist $PREFIX/lib/php.ini
    fi
    # Creamos links simbólicos para php, pgp-cgi y pear. Se puede reemplazar con los nombres 
    # que estimen convenientes
    
    rm /usr/local/bin/php-5 &> /dev/null
    rm /usr/local/bin/php-cgi-5 &> /dev/null
    rm /usr/local/bin/pear-5 &> /dev/null
    
    ln -s $PREFIX/bin/php 		/usr/local/bin/php-5
    ln -s $PREFIX/bin/php-cgi 	/usr/local/bin/php-cgi-5
    ln -s $PREFIX/bin/pear 		/usr/local/bin/pear-5
    
    
  3. Hacemos un chmod 755 compilar_php5 y un sudo ./compilar_php5 para correr la compilación y nos vamos a tomar un cafecito
  4. Después de fumar el cigarro, deberíamos tener una hermosa versión de nuestro php5 en /usr/local/php5. Haciendo un php-5 -v deberíamos obtener algo como:
    PHP 5.1.0-dev (cli) (built: Sep 19 2004 12:06:12)
    Copyright (c) 1997-2004 The PHP Group
    Zend Engine v2.0.1-dev, Copyright (c) 1998-2004 Zend Technologies
    

    Bonito, no?

  5. Teniendo nuestro cgi de php5 totalmente operacional, es tiempo de configurar apache. En gentoo, la configuración es bastante sui generis, aunque razonable, ya que separa los archivos de configuración de los vhosts y de la configuración de directorios de la central. Lo primero es ir a /etc/apache/conf/apache.conf y descomentar la línea que dice Include conf/vhosts/Vhosts.conf, para configurar un vhost. Después, en /etc/apache/conf/vhosts/Vhosts.conf, agregamos lo siguiente al final del archivo
    Listen 83
     <Virtualhost _default_:83>
         ServerName localhost
         DirectoryIndex index.php index.html 
         ErrorLog logs/error.log
         # http://httpd.apache.org/docs-2.1/mod/core.html.en#limit
         <Location />
           <Limit CONNECT>
             Order allow,deny
             Allow from all
           </Limit>
         </Location>
         ScriptAlias /php5 /usr/local/php5/bin/
    
    	<Directory /usr/local/php5/bin/>
            Options +ExecCGI +FollowSymLinks
            AllowOverride None
        </Directory>
    
         DocumentRoot "/var/www/localhost/htdocs"
         Action     php5-script /php5/php-cgi
         AddHandler php5-script .php .html 
     </Virtualhost>
    
  6. Para finalizar, reiniciamos el apache con /etc/init.d/apache restart y accedemos a nuestro directorio base con http://localhost:83/phpinfo.php. Si creamos el viejo phpinfo.php con
    phpinfo();
    

    Deberíamos obtener la información de nuestro apache en modo PHP5. Que lo disfruten!

Referencias:

Imagen de Hernan R

Q hago para que funcione mi aplicacion de Php 4 en Fedora
que tiene el PHP 5

Ya subi mi aplicacion que esta echa en php4 con mysql 3.2 que estaba usuandose en una maquina con linux 8 y fucionaba correctamente, al momento de subir mi aplicaion en otra maquina que tiene fedora ya no me funciona

Les agradecere de antemano la ayuda prestada

Hernan Rengel

Enviado por Hernan R (no verificado) el Vie, 21/07/2006 - 09:54.

Enviar un comentario nuevo

El contenido de este campo se mantiene como privado y no se muestra públicamente.
If you have a Gravatar account, used to display your avatar.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Saltos automáticos de líneas y de párrafos.

Más información sobre opciones de formato