Clicky

Ir para conteúdo

Entre para seguir isso  
Jaime Silva

Mantendo Várias Versões Do Php

Posts Recomendados

A dica abaixo pode ser aproveitada por programadores e também por provedores de hospedagem.

É possível manter várias versões do PHP em um mesmo servidor aplicando esta configuração a nível de usuário, domínio ou diretório.

 

O primeiro passo é rodar o script cujo código está no fim desta postagem. Ele instalará as versões 5.2.17, 5.3.25, 5.4.18 e 5.5.2.

O diretório de instalação será /opt/php. Além disso, atenha-se aos seguintes detalhes, que podem ser mudados por você no código:

 

São instalados as extensões: MySQL (considerando o diretório padrão deste) , CurlSSL (considerando que este já está instalado em /opt/curlssl) e IMAP com suporte a SSL (/opt/php_with_imap_client/). Se você tem cPanel, espera-se que você já o tenha compilado (EasyApache) com estas opções; se não, remova-as do código.

Você também pode aproveitar e acrescentar outras opções de compilação ao código.

 

Executando o script teremos 4 versões dentro do diretório /opt/php/<VERSAO> (considere apenas os dois primeiros números, ex.: 5.4)

 

Para configurar a execução, digamos da versão 5.3.35 para o usuário FULANO, façamos assim:

 

Crei um arquivo .htaccess dentro de /home/fulano/public_html e coloque o seguinte:

Options +ExecCGI
AddHandler php-cgi .php
Action php-cgi /cgi-bin/php.cgi

Copie o executável do PHP e mude o proprietário dele

cp /opt/php/5.3/bin/php-cgi /home/fulano/public_html/cgi-bin/php.cgi
chown fulano.fulano /home/fulano/public_html/cgi-bin/php.cgi
chmod +x /home/fulano/public_html/cgi-bin/php.cgi

Você pode também criar o arquivo .htaccess apenas dentro de determinado diretório, fazendo com que determinada versão do PHP seja executada dentro dele.

Mesmo usuários sem acesso root podem instalar múltiplas versões. Para isso você precisa:

 

1) Mudar no script todas as ocorrências do diretório /opt/php para, por exemplo, /home/usuario/php

2) Ter acesso SSH ou rodar um script com extensão .cgi (em Perl ou PHP) e executar o script de instalação (ex.: system ('sh multiphp.sh'))

#!/bin/bash

ARRAY=(5.2.17 5.3.25 5.4.18 5.5.2)
mkdir -p /opt/php

for i in {0..3}
do

   cd /opt/php
   version=5.$(($i +  2))
   echo "Instalando o PHP ${ARRAY[$i]}"
   wget -q http://museum.php.net/php5/php-${ARRAY[$i]}.tar.gz -O php-${version}.tar.gz
   tar -C ${version} -xzf "${version}.tar.gz"
   cd "${version}/php-${ARRAY[$i]}"

   export EXTENSION_DIR=/opt/php/${version}/extensions
   ./configure --prefix=/opt/php/${version} --with-config-file-path=/opt/php/${version}/etc --enable-ftp --enable-libxml --with-libxml-dir=/opt/xml2/ --enable-sockets --with-curl=/opt/curlssl/ --with-imap=/opt/php_with_imap_client/ --with-zlib --with-imap-ssl=/usr --with-kerberos --with-libdir=lib64  --with-mysql=/usr --with-mysql-sock=/var/lib/mysql/mysql.sock --with-openssl=/usr --with-pic  --with-openssl-dir=/usr --with-pcre-regex=/opt/pcre --with-zlib-dir=/usr
   make && make install
   rm -vf /opt/php/php-${version}.tar.gz

done

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

O Portal do Host

Dicas para sua empresa de hospedagem. Artigos, notícias, tutoriais e os aspectos da indústria de hospedagem.

Limestone Networks

A LSN tem sido parceira e patrocinadora do PDH, fornecendo uma plataforma segura e confiável.

Cloud - Servidores decicados - Co-location
×