Php5 y php4 también conviven en mi ubuntu
En días como hoy es cuando se echa de menos un hombro donde desahogar las penas, un compañero al que preguntar, o simplemente al que decir "¿esta bien verdad?, ¿y pq no funciona entonces?, es que no lo entiendo, ¿enviamos un bug?...y mil cosas mas sin sentido cuando finalmente encuentras los porqués".
Volviendo al proyecto en el que ya estoy sumergido necesito además de una 4 de mysql una 4 de php, y claro en mi ubuntu estoy con la 5. Venga a buscar soluciones.
Para tener 2 versiones de php corriendo en la misma máquina, sin virtualizaciones ni nada que este cacharro no esta para esos trotes, necesitamos tener una instalada como módulo y otra como cgi. Como módulo tengo la 5.2.3 y necesito instalar una 4 como cgi.
Voy a recurrir a los repositorios de http://www.dotdeb.org/mirrors para hacerme con la 4.4.8. Edito mi sources.list y añado los repositorios de dotdeb.
Tras actualizar los repositorios hago un apt-get install php4-cgi y primera en la frente, dependencia libzzip-0.12 incumplida (paso mucho miedo, pero con suerte no es recursiva), es lo que tiene recurrir a estas versiones antiguas empaquetadas. Nos vamos a debian http://packages.debian.org/etch/i386/libzzip-0-12/download descargamos e instalamos el paquete.
Ahora si apt-get install php4-cgi y php4 instalado. Instalamos además otros paquetes que necesitaremos apt-get install php4-curl php4-domxml php4-gd php4-gmp php4-imap php4-ldap php4-mcal php4-mcrypt php4-mysql
Ahora que tenemos php4 instalado y nuestro ejecutable en /usr/lib/cgi-bin/php4, editamos nuestro virtual host de apache:
-
<VirtualHost *:80>
-
ServerAdmin sanroman.javier@gmail.com
-
ServerName midominio.com
-
DocumentRoot /home/javi/php4/miproyecto
-
-
ErrorLog /var/log/apache2/error.log
-
LogLevel warn
-
CustomLog /var/log/apache2/access.log combined
-
-
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
-
<Directory />
-
AddHandler php-script .php
-
Action php-script /cgi-bin/php4
-
Options FollowSymLinks
-
AllowOverride None
-
</Directory>
-
</VirtualHost>
y tenemos que activar el modulo actions (a2enmod actions) o no podremos ejecutar la linea Action php-script /cgi-bin/php4 .
Y con esto ya tenemos este virtual host utilizando la 4. Ala mañana mas que hoy ya es tarde.

















Ta puta madre, se funcíona bien, gracias
Gráficamente puedes ir a Sistema>Preferencias>Sesiones>Programas de inicio y ahí añades el comando /path_a_tu_bin_de_mysql/mysqld_safe –defaults-extra-file=my.cnf.
También puedes hacerlo desde la línea de comandos añadiendo el comando al respectivo etc/rc.