我正在用两个容器开发我的应用程序:apache和php-fpm。
Apache服务请求,并将PHP执行委托给vhost中的php-fpm容器:
SetHandler "proxy:fcgi://myapp-php-fpm:9000"这两个容器共享一个包含应用程序代码的卷。
在每个集装箱中,该体积的位置不同:
/home/wwwdata/myapp上挂载应用程序代码卷/var/task上挂载应用程序代码卷。如何更改Apache发送到php-fpm容器的脚本路径,使其与将卷安装在php容器中的位置匹配?
我可以在nginx中通过设置SCRIPT_FILENAME和DOCUMENT_ROOT来做到这一点:
location ~ ^/index\.php(/|$) {
fastcgi_pass myapp-php-fpm:9000;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME /var/task/$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT /var/task;
internal;
}但我无法在Apache中复制这种行为。
发布于 2023-05-23 16:45:55
使用ProxyFCGISetEnvIf设置SCRIPT_FILENAME:
ProxyFCGISetEnvIf "true" SCRIPT_FILENAME "/var/task%{reqenv:SCRIPT_NAME}"
SetHandler "proxy:fcgi://myapp-php-fpm:9000"https://devops.stackexchange.com/questions/17854
复制相似问题