首页
/ 【亲测免费】 FrankenPHP 项目常见问题解决方案

【亲测免费】 FrankenPHP 项目常见问题解决方案

2026-01-29 12:22:33作者:瞿蔚英Wynne

项目基础介绍和主要编程语言

FrankenPHP 是一个现代的 PHP 应用服务器,基于 Caddy 网络服务器构建。它为 PHP 应用提供了强大的功能,包括 Early Hints、worker 模式、实时能力、自动 HTTPS、HTTP/2 和 HTTP/3 支持等。FrankenPHP 适用于任何 PHP 应用,尤其对 Laravel 和 Symfony 项目有显著的性能提升。

该项目主要使用 PHP 和 Go 语言开发。PHP 用于应用逻辑,而 Go 语言用于服务器和相关功能的实现。

新手使用项目时的注意事项及解决方案

1. 问题:Docker 运行时无法访问应用

详细描述:
新手在使用 Docker 运行 FrankenPHP 时,可能会遇到无法通过 https://127.0.0.1 访问应用的问题。

解决步骤:

  1. 检查 Docker 容器是否正常运行:
    使用 docker ps 命令查看容器是否正在运行。如果没有运行,使用 docker run 命令启动容器。
  2. 使用正确的 URL:
    不要尝试使用 https://127.0.0.1,而是使用 https://localhost。FrankenPHP 默认使用 localhost 作为域名。
  3. 接受自签名证书:
    由于 FrankenPHP 默认使用自签名证书,浏览器可能会提示不安全连接。点击“高级”选项,选择“继续访问”以接受证书。

2. 问题:无法使用 worker 模式

详细描述:
新手在配置 FrankenPHP 的 worker 模式时,可能会遇到无法启动 worker 的问题。

解决步骤:

  1. 检查 PHP 版本:
    FrankenPHP 需要 PHP 8.4 或更高版本。使用 php -v 命令检查当前 PHP 版本,确保满足要求。
  2. 配置 worker 模式:
    在项目配置文件中,确保启用了 worker 模式。例如,在 config/frankenphp.yaml 文件中添加以下配置:
    worker:
      enabled: true
    
  3. 重启 FrankenPHP:
    修改配置后,使用 docker restart frankenphp 命令重启容器,使配置生效。

3. 问题:无法自动获取 HTTPS 证书

详细描述:
新手在使用 FrankenPHP 时,可能会遇到无法自动获取 HTTPS 证书的问题,导致无法通过 HTTPS 访问应用。

解决步骤:

  1. 检查域名配置:
    确保在 SERVER_NAME 环境变量中正确配置了域名。例如:
    export SERVER_NAME=myapp.example.com
    
  2. 检查网络连接:
    确保服务器能够访问互联网,以便 Let's Encrypt 自动获取证书。
  3. 手动获取证书:
    如果自动获取失败,可以手动使用 certbot 工具获取证书,并将证书路径配置到 FrankenPHP 中。

通过以上步骤,新手可以顺利解决在使用 FrankenPHP 项目时遇到的常见问题。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起