Обзор
Я пытаюсь разместить несколько устаревших приложений PHP на Heroku с Apache.Все они использовали следующий устаревший синтаксис для анализа любых неизвестных типов файлов (без расширения .php
) как PHP.
DefaultType application/x-httpd-php
Это было заменено на AddType
в Apache 2.4 (Heroku в настоящее время использует v2.4.37).Heroku также использует mod_proxy_fcgi
для обработки PHP-файлов с помощью fcgi://heroku-fcgi
.
Issue
У меня есть файл foo.test
, и я хочу, чтобы он обрабатывался PHPFPM.Взяв подсказки из документов и конфигурации Apache по умолчанию , предоставленной Heroku , я попробовал вот что:
# .htaccess
<FilesMatch \.test$>
<If "-f %{REQUEST_FILENAME}">
SetHandler proxy:fcgi://heroku-fcgi
</If>
</FilesMatch>
# apache_app.conf (properly loaded via Procfile)
ProxyPassMatch "^/(.*\.test(/.*)?)$" "fcgi://heroku-fcgi/app/$1"
С обоими из них я получаю простой текст 403 Access denied.
ответ от PHP FPM.Я уверен, что оба конфига загружаются правильно и указывают на обработчик FCGI, потому что изменение конечной точки приводит к другим ошибкам.
Мои навыки работы с Apache давно устарели, и я не могу найти какие-либо хорошие указатели в Интернете.Журнал ошибок Apache также чист.Будем благодарны за любые идеи (без очевидного «поменяйте все расширения на PHP, тупица»)