首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设置Apache代理处理程序的基本路径

设置Apache代理处理程序的基本路径
EN

DevOps用户
提问于 2023-05-19 21:28:59
回答 1查看 11关注 0票数 0

我正在用两个容器开发我的应用程序:apachephp-fpm

Apache服务请求,并将PHP执行委托给vhost中的php-fpm容器:

代码语言:javascript
复制
        SetHandler "proxy:fcgi://myapp-php-fpm:9000"

这两个容器共享一个包含应用程序代码的卷。

在每个集装箱中,该体积的位置不同:

  • apache在/home/wwwdata/myapp上挂载应用程序代码卷
  • php-fpm在/var/task上挂载应用程序代码卷。

如何更改Apache发送到php-fpm容器的脚本路径,使其与将卷安装在php容器中的位置匹配?

我可以在nginx中通过设置SCRIPT_FILENAMEDOCUMENT_ROOT来做到这一点:

代码语言:javascript
复制
        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中复制这种行为。

EN

回答 1

DevOps用户

发布于 2023-05-23 16:45:55

使用ProxyFCGISetEnvIf设置SCRIPT_FILENAME

代码语言:javascript
复制
        ProxyFCGISetEnvIf "true" SCRIPT_FILENAME "/var/task%{reqenv:SCRIPT_NAME}"
        SetHandler "proxy:fcgi://myapp-php-fpm:9000"
票数 0
EN
页面原文内容由DevOps提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://devops.stackexchange.com/questions/17854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档