multiple php compiler em instalação única do apache

2

elloo,

eu tenho alguns scripts php antigos que são executados no php-5.2.x e o servidor atual tem o php-5.3.x. Para contornar este problema, eu tenho duas opções: uma é rebaixar o php-5.3.x ou instalar o php-5.2.xe o php-5.3.x ao mesmo tempo em que o php-5.2.x serve o script cgi. eu decidi ir para a segunda opção

Eu segui este tutorial e eu posso obter mais do que trabalhar no entanto, exceto a execução do script de shell que seleciona a versão php-cgi. Não consigo fazer o apache executar este script.

como faço para que o apache seja executado

#!/bin/sh
# you can change the PHP version here.
version="5.2.6"
# php.ini file location, */php-5.2.6/lib equals */php-5.2.6/lib/php.ini.
PHPRC=/etc/php/phpfarm/inst/php-${version}/lib/php.ini
export PHPRC

PHP_FCGI_CHILDREN=3
export PHP_FCGI_CHILDREN

PHP_FCGI_MAX_REQUESTS=5000
export PHP_FCGI_MAX_REQUESTS

# which php-cgi binary to execute
exec /etc/php/phpfarm/inst/php-${version}/bin/php-cgi

meu apache vhost.conf

<VirtualHost *:80>
    ServerName 526.localhost
    DocumentRoot /home/getmizanur/public_html/www
    <Directory "/home/getmizanur/public_html/www">
        AddHandler php-cgi .php
        Action php-cgi /php-fcgi/php-cgi-5.2.6
    </Directory>
</VirtualHost>

alguém pode me dizer o que estou fazendo de errado?

obrigado antecipadamente.

solução: Se eu fiz a2dismod php5, então a configuração acima funcionou. quando o a2enmod php5 foi ativado, o apache estava executando o php5.3 ao invés do php5.2, mesmo depois de dizer ao apache para executar o shell script php5.2. para resolver o meu problema, eu tive que mudar minha configuração virtualhost

<VirtualHost *:80>
    ServerName 526.localhost
    DocumentRoot /home/getmizanur/public_html/www

    DirectoryIndex index.php
    <Directory "/home/getmizanur/public_html/www">
        AddHandler php-cgi .php
        Action php-cgi /php-fcgi/php-cgi-5.2.6

        <FilesMatch "\.php">
            SetHandler php-cgi
        </FilesMatch>
    </Directory>
</VirtualHost>

pronto, começou a funcionar.

    
por getmizanur 19.12.2010 / 20:43

1 resposta

1

Dependendo das suas necessidades específicas - em específico, se você pode viver com a execução do PHP como um CGI em vez de mod_php - suPHP ( link ) pode ser uma ferramenta muito útil para isso. Você pode usá-lo para criar um perfil para vários intérpretes CGI, incluindo várias versões do PHP, e executar solicitações através de um determinado interpretador baseado em fatores, incluindo a extensão do arquivo, variáveis de ambiente definidas em um arquivo .htaccess no caminho, etc.

Eu o uso para permitir que desenvolvedores especifiquem em seus arquivos .htaccess qual versão do PHP eles querem executar, para que eu possa suportar o legado PHP 4, o stable 5 atual e o teste de versões mais recentes, tudo na mesma infraestrutura de servidor web , com a vantagem adicional de tirar a execução do PHP das mãos do usuário do servidor web e voltar ao contexto do proprietário do arquivo. Espero que isso ajude.

    
por 06.01.2011 / 20:55