![](/img/trans.png)
[英]Enabling Soap Client for docker docker-compose php-fpm
[英]base config for docker-compose, caddy and php-fpm
我正在尝试在 docker-compose 上使用 caddy 和 php-fpm 构建基本配置。问题是,当我尝试访问我的index.php
文件时,出现“404 文件未找到”。 这是我的配置。
docker-compose.yml
version: "3.8"
services:
caddy:
image: caddy:alpine
ports:
- "80:80"
- "443:443"
- "443:443/udp"
volumes:
- $PWD/Caddyfile:/etc/caddy/Caddyfile
- $PWD/www:/srv/www
- $PWD/caddy/data:/data
- $PWD/caddy/config:/config
- $PWD/caddy/log:/var/log
depends_on:
- app
app:
image: php:fpm-alpine
ports:
- "9000:9000"
volumes:
- "$PWD/www:/var/www/html"
Caddy文件
localhost:80 {
root * /srv/www
php_fastcgi app:9000
file_server
}
最后我有一个包含index.php
和test.html
- http://localhost/test.html 的www
文件夹,但是 http://localhost/index.php 给了我一个 404。
我究竟做错了什么?
编辑:这是我尝试过的:
看起来 php 文件没有安装在 php 容器内的正确位置,但/var/www/html
是 WorkingDir。
我不知道旁边的 go 在哪里可以解决这个问题。
终于,我找到了答案!
php-fpm 需要文件的绝对路径,因此您要么必须在两个容器中使用相同的路径,要么在 php_fastcgi 块中添加一个root
指令。
localhost:80 {
root * /srv/www
encode gzip
php_fastcgi php:9000 {
root /var/www/html
}
file_server
log
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.