在Apache2和PHP-fpm之间使用Unix套接字进行通信时,如果启用了符号链接,则可能会出现问题。具体来说,在使用PHP-fpm时,Apache2会从fpm服务器获取响应并将其发送回客户端,但如果响应包括指向符号链接的路径,则Apache2会抛出错误。
解决此问题的一种方法是在Apache2的虚拟主机配置文件中设置以下选项:
Options +ExecCGI
FollowSymLinks
SetHandler "proxy:unix:/var/run/php/php7.4-fpm.sock|fcgi://localhost"
ProxyPassMatch ^/(.*\.php(/.*)?)$ unix:/var/run/php/php7.4-fpm.sock|fcgi://localhost/var/www/html/
此配置文件将解决符号链接问题,并将命中的所有.php文件路由到PHP-fpm套接字。
请注意,此示例中的Php-fpm.sock路径可能会因系统和PHP版本而异。
下一篇:Apache2与xmlhttp