Мне только что удалось настроить сервер Apache 2.4 с использованием HHVM в режиме FastCGI, используя эту директиву ProxyPassmatch. Проблема в том, что теперь я могу установить другой корневой путь для каждого хоста, но я не могу установить какие-либо другие параметры конфигурации для каждого VHost, такие как include_path, error_log или другие классические настройки PHP ...
Файл 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>
Есть некоторые отчеты о том, что я также могу настраивать виртуальные хосты в HHVM, но, поскольку Fast-CGI, похоже, устарел. И даже тогда мне пришлось бы предоставить настройки VHost в отдельном файле в дополнение к моему файлу Apache VHost.
Итак ... Как я могу предоставить HHVM разные конфигурации для каждого виртуального хоста?
Вы можете передавать параметры через переменную среды PHP_VALUE.
В Apache вы должны использовать FcgidInitialEnv директива (которая применима к виртуальным хостам) для определения всех параметров в одной строке.
FcgidInitialEnv PHP_VALUE "include_path=.:/var/www/host1/includes \n error_log=/var/www/host1/log/php_error.log"