Trabalhando com diferentes versões do PHP ao mesmo tempo, php_value extension_dir não está funcionando? [duplicado]

1

Eu preciso do PHP 5.4.7 e 5.3.17 rodando no Windows 7 x64 com o Apache 2.2.23. Esta é a minha configuração de host virtual:

<VirtualHost *:80>
    DocumentRoot  "C:/WAMP/Apache/htdocs/php54"
    ServerName php54.local
    PHPIniDir "C:/WAMP/PHP54"
    LoadModule php5_module "C:/WAMP/PHP54/php5apache2_2.dll"
    php_value extension_dir "C:/WAMP/PHP54/ext"

    <Directory "C:/WAMP/Apache/htdocs/php54">
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

As diretivas PHPIniDir e LoadModule funcionam bem e usar phpinfo() no meu script imprime a versão correta do PHP.

Mas preciso carregar extensões, e é aí que ele falha. php_value extension_dir deve ser C:/WAMP/PHP54/ext , mas é (padrão um) C:/php .

O que eu sinto falta aqui?

EDITAR : É claro que posso definir esse valor diretamente em C:/WAMP/PHP54/php.ini , mas prefiro passá-lo usando a configuração vhost:

; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
; extension_dir = "./"
; On windows:
extension_dir = "C:/WAMP/PHP54/ext"
    
por user34295 03.10.2012 / 15:20

1 resposta

3

Há algumas coisas que estão aqui fora.

A execução de duas versões do PHP simultaneamente sob o mesmo processo do Apache geralmente é feita via CGI. Mas você parece estar tentando carregar o PHP como um módulo do Apache (por que essa linha do LoadModule em um VirtualHost)?

php_value , e diretivas relacionadas, só funcionam quando o PHP é executado como um módulo do Apache (não sob CGI). Portanto, se você estiver executando o PHP no CGI, apenas os valores do php.ini funcionarão.

    
por 03.10.2012 / 23:23