---
title: "使用经典模式"
sidebar:
  label: "Classic 模式"
  order: 0
seo:
  description: "在没有任何额外配置的情况下，FrankenPHP 以经典模式运行。在此模式下，FrankenPHP 的功能类似于传统的 PHP 服务器，直接提供 PHP 文件服务。这使其成为 PHP-FPM 或 Apache with modphp 的无缝替代品。"
---
在没有任何额外配置的情况下，FrankenPHP 以经典模式运行。在此模式下，FrankenPHP 的功能类似于传统的 PHP 服务器，直接提供 PHP 文件服务。这使其成为 PHP-FPM 或 Apache with mod_php 的无缝替代品。

与 Caddy 类似，FrankenPHP 接受无限数量的连接，并使用[固定数量的线程](/zh/docs/config#caddyfile-配置)来为它们提供服务。接受和排队的连接数量仅受可用系统资源的限制。
PHP 线程池使用在启动时初始化的固定数量的线程运行，类似于 PHP-FPM 的静态模式。也可以让线程在[运行时自动扩展](/zh/docs/performance#max_threads)，类似于 PHP-FPM 的动态模式。

排队的连接将无限期等待，直到有 PHP 线程可以为它们提供服务。为了避免这种情况，你可以在 FrankenPHP 的全局配置中使用 max_wait_time [配置](/zh/docs/config#caddyfile-配置)来限制请求可以等待空闲的 PHP 线程的时间，超时后将被拒绝。
此外，你还可以在 Caddy 中设置合理的[写超时](https://caddyserver.com/docs/caddyfile/options#timeouts)。

每个 Caddy 实例只会启动一个 FrankenPHP 线程池，该线程池将在所有 `php_server` 块之间共享。
