微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 PHP 脚本执行旁边使用 Caddy 提供静态文件? (Symfony)

如何解决如何在 PHP 脚本执行旁边使用 Caddy 提供静态文件? (Symfony)

我有一个基于 docker-compose 的服务器设置,它运行 PHP、Postgres 和 Caddy 作为带有 Auto-SSL 的 Web 服务器/反向代理,它为带有 PHP5-fpm 的 PHP 应用程序(框架 Symfony 3/Sylius 1.5)提供服务。

到目前为止它工作得很好,但不能处理任何静态文件,如 CSS、图像、JS 等,尽管放置了 file_server 指令。 任何静态内容都会得到 404。

我的应用程序被复制到文件/srv/app 中,其中 /srv/app/public 包含 index.PHP/srv/app/public/assets 包含静态文件包括几个子文件夹)。

这是我的 Caddyfile:

{$SERVER_NAME}

log

route {
    root * /srv/app/public
    PHP_fastcgi unix//var/run/PHP/PHP-fpm.sock
    encode zstd gzip
    file_server
}

我尝试为 file_server 指令指定文件夹,例如:

file_server assets/

file_server assets {
}

每个都在 route 分支内。

但是这样,Caddy 不会提供任何服务,而是提供 500er。

我该如何解决这个问题?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。