Я пытаюсь запустить PHP с помощью FastCGI (mod-fcgid) под apache 2 с рабочим MPM. Я использовал это сообщение в блоге в качестве справки.
Кажется, у меня все работает, кроме одного:
Когда apache обслуживает index.php неявно (я думаю, используя mod_dir), он не использует настроенный обработчик для файлов .php, а просто обслуживает файл PHP, как будто это статический контент.
Однако, когда я вручную добавляю часть index.php к URL-адресу, он правильно использует обработчик, и, похоже, все работает. Другие файлы PHP тоже работают нормально.
Чтобы уточнить:
Что могло вызвать это? Любые подсказки приветствуются!
Изменить: Некоторые подробности: это в бесстрашной системе Ubuntu.
Я заставил .php работать в FastCGI, добавив две строки PHP в mods-enabled / fcgid.conf, так что теперь это выглядит так:
<IfModule mod_fcgid.c>
AddHandler fcgid-script .fcgi
IPCConnectTimeout 20
AddHandler fcgid-script .php
FCGIWrapper /usr/lib/cgi-bin/php5 .php
</IfModule>
Индексы каталогов настраиваются в mods-enabled / dir.conf:
<IfModule mod_dir.c>
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>
Мне не нужно было никуда ставить Options + ExecCGI. На самом деле, я просто попытался закомментировать блок в sites-enabled / 000-default, и FastCGI PHP по-прежнему работает нормально, за исключением неявного index.php
Ой, я был очень глупым.
Видимо, в какой-то момент я просто неправильно его сконфигурировал, и мой браузер кэшировал неправильный ответ.
http://example.com/index.php затем сработало, вероятно, потому что я только начал пробовать это после У меня работал FastCGI PHP, поэтому в кеше не было неправильных ответов.
Другими словами, информация в моем исходном вопросе - это рабочая конфигурация для mpm-worker + PHP в mod-fcgid!
В любом случае спасибо за усилия :-)
Возможно, это глупо, но попробуйте:
<IfModule mod_fcgid.c>
AddHandler fcgid-script .fcgi
IPCConnectTimeout 20
AddHandler fcgid-script .php
FCGIWrapper /usr/lib/cgi-bin/php5 .php
DirectoryIndex index.php
</IfModule>
Я обнаружил ряд странностей, когда модули Apache взаимодействуют странным образом. Конечно, иногда порядок в файле конфигурации очень важен.
Мне интересно, используется ли mod_index в обход vhost для fastcgi (т.е. отдельно от vhost, который устанавливает использование обработчика php).