Multiple versiones de PHP
Descripción
Como hacer para correr diferentes versiones de PHP en un mismo equipo
Prerequistos
Un Linux Andando
Instalación
Para Centos
1. Tiene que tener instalado epel y remi-safe andando
yum install yum-utils -y
yum install php54 php72 -y
yum install php54-php-fpm php72-php-fpm -y
2. Cambie el puerto
5.4 no se deja asi que cambiamos solo 72
sed -i 's/:9000/:9072/' /etc/opt/remi/php72/php-fpm.d/www.conf
systemctl stop php56-php-fpm
systemctl stop php72-php-fpm
3. Cree los ejecutables de CGI para cada php
cat > /var/www/cgi-bin/php72.fcgi « EOF
#!/bin/bash
exec /bin/php72-cgi
EOF
sudo chmod 755 /var/www/cgi-bin/php72.fcgi
4. La configuracion de apache
Cabien el php.conf por
ScriptAlias /cgi-bin/ “/var/www/cgi-bin/“
AddHandler php72-fcgi .php
Action php54-fcgi /cgi-bin/php54.fcgi
Action php72-fcgi /cgi-bin/php72.fcgi
OJO: cada version genera eun php-7.x.conf . desaparezcalas !!! Si no no van a tomar el .htacces
5. Cambie la configuracion de los directorios para que permitan el .htaccess
Alias /orfeo /var/www/html/orfeo-5.8
<Directory /var/www/html/orfeo-5.8>
DirectoryIndex index.php
Options FollowSymLinks MultiViews IncludesNoExec
Options -Indexes
AllowOverride All
Order allow,deny
allow from all
</Directory>
6. Ponga el htaccess donde lo necesita
echo “AddHandler php72-fcgi .php” > /var/www/html/php72/.htaccess
Nota: Tener presente que si en el servidor se está trabajando una versión de Orfeo él .htaccess debe apuntar a AddHandler php54-fcgi .php para que interprete correctamente las etiquetas de PHP de lo contrario va a causar conflicto.
7. Monte los paquetes que necesita para cada version
yum install php54-php-pgsql.x86_64 php72-php-pgsql.x86_64
yum install php54-php-ldap.x86_64 php72-php-ldap.x86_64
yum install php54-php-mssql.x86_64 php72-php-mssql.x86_64
8. Deje el servicio habilitado
systemctl enable php54-php-fpm
systemctl enable php72-php-fpm
Configuración
1. Una accion
2. Segunda accion
Trucos
Problemas
1. OJO con el tamaño del upload
Ahora no solo hay que subir en max_upload en php sino tambien en el fcgi
- FcgidMaxRequestLen 2000000
Centos: /etc/httpd/conf.d/fcgi.conf
Debain: /etc/apache2/mods-enabled/fcgi.conf
https://www.howtoforge.com/apache2-mod_fcgid-http-request-length-exceeds-maxrequestlen
2 no toma la version de php de .htacces
OJO: cada version genera eun php-7.x.conf . desaparezcalas !!! Si no no van a tomar el .htacces
Referencias
- En CentOS 7 https://medium.com/@daniel.bui/multiple-php-version-with-apache-on-centos-7-17078c66692c
- Debian 8 y php5.3 https://superuser.com/questions/913792/php-5-3-10-on-debian-jessie
- Debian 9 https://tecadmin.net/install-multiple-php-version-with-apache-on-debian/
- Ubuntu 22 https://techvblogs.com/blog/install-multiple-php-versions-on-ubuntu-22-04
- Compilando PHP https://www.howtoforge.com/tutorial/how-to-install-php-7-on-debian/
- El PHP7.2 en debian wheezy
FIN
Advertencia
Este documento es privado y es de u so exclusivo de sus autores y de SKINA TECH. Cualquier uso sin una autorización escrita es contra la ley de derechos de autor y de propiedad intelectual, y será motivo de una acción legal.
15-Marzo-2006 J.E.Gomez v1.0 Primera version