Sunil Mohan Adapa 2ed47b047d
apache: Handle transition to php 7.4
Directory /etc/php/7.4 became available before php7.4-fpm became available.
Handle this by checking the run time socket of the fpm daemon instead of the
directory.

Discussed and tested in
https://discuss.freedombox.org/t/mediawiki-service-unavailable/711/23

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2020-03-07 16:33:55 -05:00

42 lines
1.5 KiB
Plaintext

# Proxy all PHP file requests through PHP-FPM.
#
# Based on /etc/apache2/conf-available/php7.3-fpm.conf but modified to not break
# when PHP version upgrade happens due to php-fpm package depending on the
# latest version of PHP. Since PHP-FPM unix sockets have version number their
# path, to work with future version of PHP, hack assuming some future versions.
# Redirect to local php-fpm if mod_php is not available
<IfModule !mod_php7.c>
<IfModule proxy_fcgi_module>
# Enable http authorization headers
<IfModule setenvif_module>
SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1
</IfModule>
<FilesMatch ".+\.ph(ar|p|tml)$">
<If "-e '/run/php/php-fpm.sock'">
SetHandler "proxy:unix:/run/php/php-fpm.sock|fcgi://localhost"
</If>
<ElseIf "-e '/run/php/php7.4-fpm.sock'">
SetHandler "proxy:unix:/run/php/php7.4-fpm.sock|fcgi://localhost"
</ElseIf>
<ElseIf "-e '/run/php/php7.3-fpm.sock'">
SetHandler "proxy:unix:/run/php/php7.3-fpm.sock|fcgi://localhost"
</ElseIf>
<Else>
Require all denied
</Else>
</FilesMatch>
<FilesMatch ".+\.phps$">
# Deny access to raw php sources by default
# To re-enable it's recommended to enable access to the files
# only in specific virtual host or directory
Require all denied
</FilesMatch>
# Deny access to files without filename (e.g. '.php')
<FilesMatch "^\.ph(ar|p|ps|tml)$">
Require all denied
</FilesMatch>
</IfModule>
</IfModule>