Apache2.4 e HHVM como FastCGI - configurações diferentes por VHost?

2

Eu apenas consegui configurar um servidor Apache 2.4 usando o HHVM no modo FastCGI usando essa diretiva ProxyPassmatch. O problema é que agora posso definir um caminho de raiz diferente para cada host, mas não posso definir nenhum outro parâmetro de configuração por VHost, como include_path, error_log ou outras configurações clássicas do PHP ...

Arquivo VHost:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName host1.local
    DocumentRoot /var/www/host1/root

    ErrorLog ${APACHE_LOG_DIR}/host1_error.log
    CustomLog ${APACHE_LOG_DIR}/host1_access.log combined

    ProxyPassMatch (.php)$ fcgi://127.0.0.1:9000/var/www/host1/root

    # php_value include_path ".:/var/www/host1/includes"
    # php_value error_log "/var/www/host1/log/php_error.log"

    <Directory /var/www/host1/root>
        AllowOverride All
    </Directory>
</VirtualHost>

Existem alguns relatórios que eu posso configurar hosts virtuais no HHVM também, mas desde o Fast-CGI isso parece ser obsoleto. E mesmo assim, eu teria que fornecer as configurações do VHost em um arquivo separado, além do meu arquivo Apache VHost.

Então ... Como posso fornecer o HHVM com diferentes configurações por VHost?

Update Parece que eu descobri um Bug (ou recurso ausente) do HHVM enquanto usava a abordagem FcgidInitialEnv (ou fastcgi_param no Nginx) descrita na resposta.

link

    
por ToBe 10.09.2014 / 15:41

1 resposta

1

Você pode passar parâmetros através da variável de ambiente PHP_VALUE.

No Apache, você usaria a diretiva FcgidInitialEnv (que é aplicável a hosts virtuais) para definir todos os parâmetros em uma única linha.

FcgidInitialEnv PHP_VALUE "include_path=.:/var/www/host1/includes \n error_log=/var/www/host1/log/php_error.log"
    
por 10.09.2014 / 16:28