Jaime Silva Postado Outubro 2, 2013 Compartilhar Postado Outubro 2, 2013 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 Não há bem nem mal que dure para sempre. Um dia tudo acaba. Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados