После документация php, Я настроил PHP для работы с Apache2 + FastCGI со следующей конфигурацией (в httpd.conf):
LoadModule fcgid_module modules/mod_fcgid.so
FcgidInitialEnv PHPRC "c:/php"
AddHandler fcgid-script .php .html
FcgidWrapper "c:/php/php-cgi.exe" .php
FcgidWrapper "c:/php/php-cgi.exe" .html
Я пробовал следующее в качестве альтернативы для последних трех строк:
<Files ~ "\.html>"
AddHandler fcgid-script .html
SetHandler fcgid-script
FcgidWrapper "c:/php/php-cgi.exe" .html
</Files>
Однако только файлы, заканчивающиеся на .php
выполняются как сценарии PHP, а файлы с .html
расширение нет. Похоже, что в файле конфигурации нет другого места, в котором указано расширение .php, поэтому я не знаю, почему httpd обрабатывает их по-разному.
Непосредственно работает php-cgi.exe index.html
производит ожидаемый результат, поэтому может показаться, что проблема заключается в том, что httpd не передает управление исполняемому файлу cgi.
Как правильно это сделать?
Конкретная информация о версии:
Я провел небольшой тест, используя:
AddHandler fcgid-script php fcg fcgi fpl html
FcgidWrapper "/usr/bin/php-cgi -d date.timezone=America/New_York" .html
FcgidWrapper "/usr/bin/php-cgi -d date.timezone=America/New_York" .php
и он успешно использовал php для доставки файлов .html. Я бы просмотрел ваш файл конфигурации Apache и посмотрел, объявили ли вы обработчик для файлов .html заранее или даже после.