HipHop PHP [HHVM] com subdomínios

Recentemente, precisei configurar um servidor com HipHop PHP. Como a maioria dos sites, o domínio tinha subdomínios. Infelizmente, Mark Zuckerburg odeia a comunidade de código aberto e disse aos desenvolvedores de HHVM para não adicionar uma maneira fácil de configurar subdomínios. 🙁

Tive a sorte de notar #hhvm no Freenode e tive uma longa discussão com um dos desenvolvedores de HHVM. Depois de muitas horas de trabalho, com a ajuda de Paul Tarjan, descobri que a (única?) Maneira de fazer isso é com uma diretiva Sandbox.

Sandbox {
SandboxMode = true
Pattern = ([^-]*(-[^-]*)?).example.com
Home = /var/www/subdomains
}

Adicionar o código acima ao seu hhvm.hdf irá procurar em / var / www / subdomains pelo subdomínio. Por exemplo, wordpress.example.com pedirá ao HipHop para olhar em / var / www / subdomains / wordpress / e servir o que estiver lá.

Mas espere … você deseja veicular www.example.com de outro diretório? Sem problemas! Usar o seguinte padrão excluirá www de ser considerado um ‘subdomínio’.

Pattern = b(?!www.)(w+(?:-w+)*)(?=.example.comb)

Se mudar essa estrutura de diretório não for possível, ou por alguma razão estranha você está realmente usando a diretiva Sandbox para configurações de sandbox, eu aconselho você a reclamar para a equipe do HipHop ou enviar uma solicitação de pull para raízes de servidor host virtual no estilo Apache. ( https://github.com/facebook/hiphop-php/issues/885 ) 🙂

https://github.com/facebook/hiphop-php