У меня есть следующая проблема, что Apache передает неправильный Документ Root моему экземпляру PHP -pm, если это ch root 'ed
Мое текущее решение должно было использовать
ProxyPassMatch "^/(.*\.php)$" "unix:/var/run/php/php7.2-fpm.sock|fcgi://localhost/htdocs"
Но согласно Apache ProxyPassMatch
выполняется перед любым другим оператором, что делает мою попытку реализовать Kerberos невозможной, как простую директиву <File>
для kerberos authenti c *.php
файл будет игнорироваться.
Итак, я начал поиск правильного решения (потому что директива ProxyPassMatch
была обходным путем около полугода go.
Мое текущее "решение" это добавить символическую ссылку в ch root, которая имитирует исходный путь к файлу, чтобы заставить php работать снова.
ApacheConfig:
DocumentRoot /var/www/storage/site/htdocs/
<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php/php7.2-dev-fpm.sock|fcgi://localhost/"
</FilesMatch>
В файловой системе
/var/www/storage/site/var/www/storage/site $ ls -al htdocs
lrwxrwxrwx 1 root root 19 Jan 28 14:24 htdocs -> ../../../../htdocs/
Это выглядит некрасиво, и я должен признать, я не уверен, подразумевает ли это какие-либо риски безопасности? (Материал обхода пути ???)
Но по крайней мере это работает!
Так как правильно сказать Apache об изменении пути, который он передает php -Fpm?
Эта ссылка не предоставила подходящей помощи