我正在开发一个包含两个容器的应用程序:Apache和php-fpm。
Apache服务请求,并将PHP执行委托给其vhost中的php-fpm容器:
<FilesMatch .php$>
SetHandler "proxy:fcgi://myapp-php-fpm:9000"
</FilesMatch>
这两个容器共享一个包含应用程序代码的卷。
每个容器中卷的位置不同:
- apache在
/home/wwwdata/myapp
处装载应用程序代码卷 - php-fpm将应用代码卷挂载到
/var/task
如何更改Apache发送到php-fpm容器的脚本路径,使其与php-fpm容器中卷的挂载位置匹配?
我可以在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中复制这种行为。
1条答案
按热度按时间cbjzeqam1#
使用
ProxyFCGISetEnvIf
设置SCRIPT_FILENAME
: