diff --git a/docs/cn/config.md b/docs/cn/config.md index 813aab5a52..fc32f1bcac 100644 --- a/docs/cn/config.md +++ b/docs/cn/config.md @@ -1,6 +1,6 @@ --- title: 使用 Caddyfile、php.ini 和环境变量配置 FrankenPHP -description: 通过 Caddyfile、JSON 或环境变量配置 FrankenPHP 和 Caddy,包括 PHP 运行时调优、工作模式、文件监视和模块选项。 +description: 通过 Caddyfile、JSON 或环境变量配置 FrankenPHP 和 Caddy,包括 PHP 运行时调优、工作进程模式、文件监控和模块选项。 --- # 配置 @@ -95,19 +95,19 @@ localhost { ```caddyfile { frankenphp { - num_threads # 设置要启动的 PHP 线程数量,用于处理没有 worker 服务时的请求,worker 线程在此基础上增加。默认值:在 worker 线程分配完毕后,剩余的可用 CPU 数量的 2 倍(至少一个)。 - max_threads # 限制同时运行的 PHP 线程数量(包括 worker 线程)。默认值:启动时创建的线程数。可以设置为 'auto'。 - max_wait_time # 设置请求在超时之前可以等待空闲 PHP 线程的最长时间。默认值:禁用。 - max_idle_time # 设置一个自动缩放的线程在被停用之前可以空闲的最长时间。默认值:5s。 - max_requests # (实验性) 设置 PHP 线程在重启前处理的最大请求数,有助于缓解内存泄漏。适用于常规线程和 worker 线程。默认值:0 (无限制)。 - php_ini # 设置 php.ini 指令。可以多次使用以设置多个指令。 + num_threads # 设置用于处理非工作进程请求的 PHP 线程数量,工作进程线程在此基础上。默认:工作进程线程拥有其线程后,2 倍可用 CPU 数量中剩余的部分,至少一个。 + max_threads # 限制可以同时运行的 PHP 线程数量,包括工作进程线程。默认:启动时启动的线程数。可以设置为 'auto'。 + max_wait_time # 设置请求在超时之前可以等待的最大时间,直到找到一个空闲的 PHP 线程。 默认:禁用。 + max_idle_time # 设置一个自动扩展的线程在被停用之前可以空闲的最长时间。默认:5s。 + max_requests # (实验性) 设置一个 PHP 线程在重启前将处理的最大请求数,这有助于缓解内存泄漏问题。适用于常规线程和工作进程线程。默认值:0 (无限制)。 + php_ini # 设置一个 php.ini 指令。可以多次使用以设置多个指令。 worker { - file # 设置工作脚本的路径。 + file # 设置工作进程脚本的路径。 num # 设置要启动的 PHP 线程数量,默认为可用 CPU 数量的 2 倍。 env # 设置一个额外的环境变量为给定的值。可以多次指定以设置多个环境变量。 watch # 设置要监视文件更改的路径。可以为多个路径多次指定。 - name # 设置 worker 的名称,用于日志和指标。默认值:worker 文件的绝对路径。 - max_consecutive_failures # 设置 worker 在被视为不健康之前的最大连续失败次数,-1 意味着 worker 将始终重新启动。默认值:6。 + name # 设置工作进程的名称,用于日志和指标。默认值:工作进程文件的绝对路径。 + max_consecutive_failures # 设置在工作进程被视为不健康之前的最大连续失败次数,-1意味着工作进程将始终重新启动。默认值:6。 } } } @@ -127,7 +127,7 @@ localhost { # ... ``` -如果您在同一服务器上服务多个应用程序,您还可以定义多个工作线程: +如果您在同一服务器上服务多个应用程序,您还可以定义多个工作进程: ```caddyfile app.example.com { @@ -151,9 +151,9 @@ other.example.com { 使用 `php_server` 指令通常是您需要的, 但是如果你需要完全控制,你可以使用更低级的 `php` 指令。 -`php` 指令将所有输入传递给 PHP,而不是先检查是否是 PHP 文件。 -在[性能页面](performance.md#try_files)中了解更多关于它的信息。 -请求路径中不包含任何 `split_path` 扩展名的请求将收到 404 响应,除非有 worker 处理它。 +`php` 指令将所有输入传递给 PHP,而不是先检查是否 +是一个PHP文件。在[性能页面](performance.md#try_files)中了解更多关于它的信息。 +如果请求路径不包含任何 `split_path` 扩展名,则会返回 404,除非工作进程处理了它。 使用 `php_server` 指令等同于以下配置: @@ -185,17 +185,17 @@ php_server [] { root # 将根文件夹设置为站点。默认值:`root` 指令。 split_path # 设置用于将 URI 分割成两部分的子字符串。第一个匹配的子字符串将用来将 "路径信息" 与路径分开。第一部分后缀为匹配的子字符串,并将被视为实际资源(CGI 脚本)名称。第二部分将被设置为脚本使用的 PATH_INFO。默认值:`.php` resolve_root_symlink false # 禁用通过评估符号链接(如果存在)将 `root` 目录解析为其实际值(默认启用)。 - name # 为此服务器设置名称,用于分配 worker、指标和日志。默认值:封闭路由的第一个主机匹配器,或第一个监听地址。 + name # 设置此服务器的名称,用于分配工作进程、指标和日志。默认:包含路由的第一个主机匹配器,或第一个监听地址。 env # 设置一个额外的环境变量为给定的值。可以多次指定以设置多个环境变量。 file_server off # 禁用内置的 file_server 指令。 - request_body_timeout # 设置请求体读取的空闲超时时间:失速(慢速 POST)客户端将被切断,而任何大小的稳定上传都能成功。默认值:60s。设置为 0 以禁用。 - worker { # 为此服务器创建特定的 worker。可以多次指定以创建多个 worker。 - file # 设置工作脚本的路径,可以相对于 php_server 根目录 + request_body_timeout # 设置请求体读取的空闲超时:在稳定的任意大小上传成功的同时,停止(慢速 POST)客户端会被切断。默认:60s。设置为 0 可禁用。 + worker { # 为此服务器创建特定的工作进程。可以多次指定以创建多个工作进程。 + file # 设置工作进程脚本的路径,可以相对于 php_server 根目录 num # 设置要启动的 PHP 线程数,默认为可用 CPU 数量的 2 倍 - name # 为 worker 设置名称,用于日志和指标。默认值:worker 文件的绝对路径。如果名称已被使用,则附加一个数字。 + name # 设置工作进程的名称,用于日志和指标。默认:工作进程文件的绝对路径。如果名称已被使用,则会附加数字。 watch # 设置要监视文件更改的路径。可以为多个路径多次指定。 - env # 设置一个额外的环境变量为给定值。可以多次指定以设置多个环境变量。此 worker 的环境变量也从 php_server 父进程继承,但可以在此处覆盖。 - match # 将 worker 匹配到路径模式。覆盖 try_files 且只能在 php_server 指令中使用。 + env # 设置一个额外的环境变量为给定值。可以多次指定以设置多个环境变量。此工作进程的环境变量也从 php_server 父进程继承,但可以在此处覆盖。 + match # 将工作进程匹配到路径模式。覆盖 try_files,并且只能在 php_server 指令中使用。 } worker # 也可以像在全局 frankenphp 块中那样使用简短形式。 } @@ -203,11 +203,11 @@ php_server [] { ### 监视文件更改 -由于 workers 只会启动您的应用程序一次并将其保留在内存中, +由于工作进程只会启动您的应用程序一次并将其保留在内存中, 因此对您的 PHP 文件的任何更改不会立即反映出来。 -Workers 可以通过 `watch` 指令在文件更改时重新启动。 -这对于开发环境很有用。 +工作进程可以通过 `watch` 指令在文件更改时重新启动。 +这对开发环境很有用。 ```caddyfile { @@ -241,20 +241,20 @@ Workers 可以通过 `watch` 指令在文件更改时重新启动。 ``` - `**` 模式表示递归监视 -- 目录也可以是相对的(相对于 FrankenPHP 进程启动的位置) -- 如果您定义了多个 workers,当文件发生更改时,所有 workers 都将重新启动。 -- 小心监视在运行时创建的文件(如日志),因为它们可能导致不必要的工作进程重启。 +- 目录也可以是相对的(相对于FrankenPHP进程启动的位置) +- 如果您定义了多个工作进程,当文件发生更改时,将重新启动所有工作进程。 +- 小心查看在运行时创建的文件(如日志),因为它们可能导致不必要的工作进程重启。 文件监视器基于[e-dant/watcher](https://github.com/e-dant/watcher)。 -## 将 worker 匹配到一条路径 +## 将工作进程匹配到一条路径 在传统的 PHP 应用程序中,脚本总是放在公共目录中。 这对于 worker 脚本也是如此,这些脚本被视为任何其他 PHP 脚本。 如果您想将 worker 脚本放在公共目录外,可以通过 `match` 指令来实现。 `match` 指令是 `try_files` 的一种优化替代方案,仅在 `php_server` 和 `php` 内部可用。 -以下示例将始终在公共目录中提供文件(如果存在),否则会将请求转发给与路径模式匹配的 worker。 +以下示例将始终在公共目录中提供文件(如果存在),否则会将请求转发给与路径模式匹配的工作进程。 ```caddyfile { @@ -262,7 +262,7 @@ Workers 可以通过 `watch` 指令在文件更改时重新启动。 php_server { worker { file /path/to/worker.php # 文件可以在公共路径之外 - match /api/* # 所有以 /api/ 开头的请求将由此 worker 处理 + match /api/* # 所有以 /api/ 开头的请求将由此工作进程处理 } } } diff --git a/docs/fr/config.md b/docs/fr/config.md index 98f2c8619b..d196e2e214 100644 --- a/docs/fr/config.md +++ b/docs/fr/config.md @@ -1,6 +1,6 @@ --- -title: Configurer FrankenPHP avec Caddyfile, php.ini et variables d'environnement -description: Configurez FrankenPHP et Caddy via Caddyfile, JSON ou des variables d'environnement, y compris le réglage du runtime PHP, le mode worker, la surveillance des fichiers et les options des modules. +title: Configuration de FrankenPHP avec Caddyfile, php.ini et variables d'environnement +description: Configurez FrankenPHP et Caddy via Caddyfile, JSON, ou des variables d'environnement, y compris le réglage du runtime PHP, le mode worker, la surveillance de fichiers et les options de module. --- # Configuration @@ -97,8 +97,8 @@ Vous pouvez également configurer explicitement FrankenPHP en utilisant l'[optio ```caddyfile { frankenphp { - num_threads # Définit le nombre de threads PHP à démarrer pour les requêtes non gérées par un worker. Les threads worker s'ajoutent à ce nombre. Par défaut : ce qu'il reste de 2x le nombre de CPUs disponibles une fois que les workers ont leurs threads, un au minimum. - max_threads # Limite le nombre de threads PHP pouvant s'exécuter simultanément, workers inclus. Par défaut : les threads démarrés au démarrage. Peut être défini sur 'auto'. + num_threads # Définit le nombre de threads PHP à démarrer pour les requêtes non servies par un worker, les threads worker s'ajoutant à cela. Par défaut : ce qu'il reste de 2x le nombre de CPUs disponibles une fois que les workers ont leurs threads, un au minimum. + max_threads # Limite le nombre de threads PHP pouvant s'exécuter simultanément, workers inclus. Par défaut : les threads démarrés au démarrage. Peut être défini à 'auto'. max_wait_time # Définit le temps maximum pendant lequel une requête peut attendre un thread PHP libre avant d'être interrompue. Valeur par défaut : désactivé. max_idle_time # Définit le temps maximum pendant lequel un thread auto-dimensionné peut être inactif avant d'être désactivé. Par défaut : 5s. max_requests # (expérimental) Définit le nombre maximum de requêtes qu'un thread PHP traitera avant d'être redémarré, utile pour atténuer les fuites de mémoire. S'applique aux threads réguliers et aux threads worker. Par défaut : 0 (illimité). @@ -155,7 +155,7 @@ L'utilisation de la directive `php_server` est généralement ce dont vous avez mais si vous avez besoin d'un contrôle total, vous pouvez utiliser la directive de niveau inférieur `php`. La directive `php` transmet toutes les entrées à PHP, au lieu de vérifier d'abord si c'est un fichier PHP ou pas. En savoir plus à ce sujet dans la [documentation liée aux performances](performance.md#try_files). -Une requête dont le chemin ne contient aucune des extensions `split_path` reçoit un 404, à moins qu'un worker ne la gère. +Une requête dont le chemin ne contient aucune des extensions `split_path` renvoie une erreur 404, sauf si un worker la gère. Utiliser la directive `php_server` est équivalent à cette configuration : @@ -185,16 +185,16 @@ Les directives `php_server` et `php` disposent des options suivantes : ```caddyfile php_server [] { root # Définit le dossier racine du site. Par défaut : la directive `root`. - split_path # Définit les sous-chaînes pour diviser l'URI en deux parties. La première sous-chaîne correspondante qui termine un segment de chemin sera utilisée pour séparer les "informations de chemin" du chemin. La première partie est suffixée avec la sous-chaîne correspondante et sera considérée comme le nom réel de la ressource (script CGI). La seconde partie sera définie comme PATH_INFO pour utilisation par le script. Par défaut : `.php` + split_path # Définit les sous-chaînes pour diviser l'URI en deux parties. La première sous-chaîne correspondante qui termine un segment de chemin sera utilisée pour diviser le "path info" du chemin. La première partie est suffixée avec la sous-chaîne correspondante et sera considérée comme le nom réel de la ressource (script CGI). La seconde partie sera définie comme PATH_INFO pour utilisation par le script. Par défaut : `.php` resolve_root_symlink false # Désactive la résolution du répertoire `root` vers sa valeur réelle en évaluant un lien symbolique, s'il existe (activé par défaut). name # Définit le nom de ce serveur, utilisé pour attribuer les workers, les métriques et les logs. Par défaut : le premier matcher d'hôte de la route englobante, ou la première adresse d'écoute. env # Définit une variable d'environnement supplémentaire avec la valeur donnée. Peut être spécifié plusieurs fois pour plusieurs variables d'environnement. file_server off # Désactive la directive file_server intégrée. - request_body_timeout # Définit un délai d'attente d'inactivité pour la lecture du corps de la requête : un client bloqué (POST lent) est coupé tandis qu'un téléchargement stable de toute taille réussit. Par défaut : 60s. Mettez à 0 pour désactiver. + request_body_timeout # Définit un délai d'inactivité pour la lecture du corps de la requête : un client bloqué (POST lent) est coupé tandis qu'un téléversement stable de n'importe quelle taille réussit. Par défaut : 60s. Mettez à 0 pour désactiver. worker { # Crée un worker spécifique à ce serveur. Peut être spécifié plusieurs fois pour plusieurs workers. file # Définit le chemin vers le script worker, peut être relatif à la racine du php_server num # Définit le nombre de threads PHP à démarrer, par défaut 2x le nombre de CPUs disponibles - name # Définit le nom du worker, utilisé dans les journaux et les métriques. Par défaut : chemin absolu du fichier du worker. Postfixé par un nombre si le nom est déjà utilisé. + name # Définit le nom du worker, utilisé dans les logs et les métriques. Par défaut : chemin absolu du fichier du worker. Suffixé par un nombre si le nom est déjà utilisé. watch # Définit le chemin d'accès à surveiller pour les modifications de fichiers. Peut être spécifié plusieurs fois pour plusieurs chemins. env # Définit une variable d'environnement supplémentaire avec la valeur donnée. Peut être spécifié plusieurs fois pour plusieurs variables d'environnement. Les variables d'environnement pour ce worker sont également héritées du parent php_server, mais peuvent être écrasées ici. match # fait correspondre le worker à un modèle de chemin. Écrase try_files et ne peut être utilisé que dans la directive php_server. diff --git a/docs/it/config.md b/docs/it/config.md index a933ffd2c0..72217e0d87 100644 --- a/docs/it/config.md +++ b/docs/it/config.md @@ -1,14 +1,14 @@ --- -title: Configurare FrankenPHP con Caddyfile, php.ini e variabili d'ambiente -description: Configura FrankenPHP e Caddy tramite Caddyfile, JSON o variabili d'ambiente, inclusa la messa a punto del runtime PHP, la modalità worker, il monitoraggio dei file e le opzioni dei moduli. +title: Configurazione di FrankenPHP con Caddyfile, php.ini e variabili d'ambiente +description: Configura FrankenPHP e Caddy tramite Caddyfile, JSON o variabili d'ambiente, inclusa la configurazione del runtime PHP, la modalità worker, il monitoraggio dei file e le opzioni dei moduli. --- # Configurazione FrankenPHP, Caddy, così come i moduli [Mercure](mercure.md) e [Vulcain](https://vulcain.rocks), possono essere configurati utilizzando [i formati supportati da Caddy](https://caddyserver.com/docs/getting-started#your-first-config). -Il formato più comune è il `Caddyfile`, che è un formato di testo semplice e leggibile. -Per impostazione predefinita, FrankenPHP cercherà un `Caddyfile` nella cartella corrente. +Il formato più comune è `Caddyfile`, che è un formato di testo semplice e leggibile. +Per impostazione predefinita, FrankenPHP cercherà un `Caddyfile` nella directory corrente. È possibile specificare un percorso personalizzato con l'opzione `-c` o `--config`. Di seguito è mostrato un `Caddyfile` minimo per servire un'applicazione PHP: @@ -17,7 +17,7 @@ Di seguito è mostrato un `Caddyfile` minimo per servire un'applicazione PHP: # Il nome host a cui rispondere localhost -# Facoltativo, il percorso da cui servire i file, altrimenti sarà usato il percorso attuale +# Facoltativo, la directory da cui servire i file, altrimenti sarà usata la directory corrente #root public/ php_server ``` @@ -69,18 +69,18 @@ PHP: FrankenPHP: -- Nella cartella di lavoro corrente: `Caddyfile` +- Nella directory di lavoro corrente: `Caddyfile` PHP: -- `php.ini`: la cartella in cui viene eseguito `frankenphp run` o `frankenphp php-server`, quindi `/etc/frankenphp/php.ini` +- `php.ini`: la directory in cui viene eseguito `frankenphp run` o `frankenphp php-server`, quindi `/etc/frankenphp/php.ini` - file di configurazione aggiuntivi: `/etc/frankenphp/php.d/*.ini` - Estensioni PHP: non possono essere caricate, raggruppatele nel binario stesso - copia uno dei `php.ini-production` o `php.ini-development` forniti [nei sorgenti PHP](https://github.com/php/php-src/). ## Configurazione Caddyfile -Le [direttive HTTP](https://caddyserver.com/docs/caddyfile/concepts#directives) `php_server` o `php` possono essere utilizzate all'interno dei blocchi del sito per servire l'app PHP. +Le [direttive HTTP](https://caddyserver.com/docs/caddyfile/concepts#directives) `php_server` o `php` possono essere utilizzate all'interno dei blocchi del sito per servire la tua app PHP. Esempio minimo: @@ -88,7 +88,7 @@ Esempio minimo: localhost { # Abilita la compressione (opzionale) encode zstd br gzip - # Esegue i file PHP nella directory corrente e serve le risorse statiche + # Esegue i file PHP nella directory corrente e serve gli asset php_server } ``` @@ -98,7 +98,7 @@ Puoi anche configurare esplicitamente FrankenPHP utilizzando l'[opzione globale] ```caddyfile { frankenphp { - num_threads # Imposta il numero di thread PHP da avviare per le richieste non gestite dai worker; i thread worker si aggiungono a questi. Predefinito: quello che rimane di 2x il numero di CPU disponibili dopo che i worker hanno i loro thread, almeno uno. + num_threads # Imposta il numero di thread PHP da avviare per le richieste non servite da un worker, i thread worker si aggiungono a questi. Predefinito: ciò che resta di 2x il numero di CPU disponibili una volta che i worker hanno i loro thread, almeno uno. max_threads # Limita il numero massimo di thread PHP che possono essere eseguiti contemporaneamente, inclusi i worker. Predefinito: i thread avviati all'avvio. Può essere impostato su 'auto'. max_wait_time # Imposta il tempo massimo di attesa di una richiesta per un thread PHP libero prima del timeout. Predefinito: disabilitato. max_idle_time # Imposta il tempo massimo di inattività di un thread autoscalato prima della disattivazione. Predefinito: 5s. @@ -107,8 +107,8 @@ Puoi anche configurare esplicitamente FrankenPHP utilizzando l'[opzione globale] worker { file # Imposta il percorso dello script worker. num # Imposta il numero di thread PHP da avviare, predefinito: 2x il numero di CPU disponibili. - env # Imposta una variabile di ambiente aggiuntiva al valore specificato. Può essere indicata più volte. - watch # Imposta il percorso da osservare per le modifiche ai file. Può essere indicato più volte. + env # Imposta una variabile di ambiente aggiuntiva al valore specificato. Può essere specificata più volte per più variabili d'ambiente. + watch # Imposta il percorso da osservare per le modifiche ai file. Può essere specificato più volte per più percorsi. name # Imposta il nome del worker, usato nei log e nelle metriche. Predefinito: percorso assoluto del file worker. max_consecutive_failures # Imposta il numero massimo di errori consecutivi prima che il worker sia considerato non sano; -1 significa che il worker verrà sempre riavviato. Predefinito: 6. } @@ -136,7 +136,7 @@ Puoi anche definire più worker se servi più app sullo stesso server: app.example.com { root /path/to/app/public php_server { - root /path/to/app/public # consente una cache migliore + root /path/to/app/public # per un migliore caching worker index.php } } @@ -162,7 +162,7 @@ L'utilizzo della direttiva `php_server` equivale a questa configurazione: ```caddyfile route { - # Aggiunge lo slash finale alle richieste verso cartelle + # Aggiunge lo slash finale alle richieste verso directory @canonicalPath { file {path}/index.php not path */ @@ -185,19 +185,19 @@ Le direttive `php_server` e `php` hanno le seguenti opzioni: ```caddyfile php_server [] { - root # Imposta la cartella root del sito. Predefinito: direttiva `root`. - split_path # Imposta le sottostringhe per dividere l'URI in due parti. La prima sottostringa corrispondente che termina un segmento di percorso verrà usata per separare la "path info" dal percorso. La prima parte viene suffissata con la sottostringa corrispondente e sarà assunta come nome effettivo della risorsa (script CGI). La seconda parte verrà impostata in PATH_INFO per l'utilizzo dello script. Predefinito: `.php` + root # Imposta la directory root del sito. Predefinito: direttiva `root`. + split_path # Imposta le sottostringhe per dividere l'URI in due parti. La prima sottostringa corrispondente che termina un segmento di percorso verrà utilizzata per separare le "path info" dal percorso. La prima parte viene suffissata con la sottostringa corrispondente ed è considerata il nome effettivo della risorsa (script CGI). La seconda parte verrà impostata in PATH_INFO per l'utilizzo da parte dello script. Predefinito: `.php` resolve_root_symlink false # Disabilita la risoluzione della directory `root` al suo valore reale tramite link simbolico, se presente (abilitato per impostazione predefinita). - name # Imposta il nome per questo server, usato per attribuire worker, metriche e log. Predefinito: il primo matcher host della route contenitrice, o il primo indirizzo del listener. - env # Imposta una variabile di ambiente aggiuntiva al valore specificato. Può essere indicata più volte per più variabili di ambiente. + name # Imposta il nome per questo server, usato per attribuire worker, metriche e log. Predefinito: il primo matcher host del percorso che lo racchiude, o il primo indirizzo del listener. + env # Imposta una variabile di ambiente aggiuntiva al valore specificato. Può essere specificata più volte per più variabili d'ambiente. file_server off # Disabilita la direttiva file_server integrata. - request_body_timeout # Imposta un timeout di inattività sulle letture del body delle richieste: un client bloccato (POST lento) viene interrotto mentre un upload stabile di qualsiasi dimensione ha successo. Predefinito: 60s. Imposta a 0 per disabilitare. - worker { # Crea un worker specifico per questo server. Può essere indicato più volte per più worker. + request_body_timeout # Imposta un timeout di inattività sulle letture del corpo della richiesta: un client bloccato (slow POST) viene interrotto mentre un upload costante di qualsiasi dimensione ha successo. Predefinito: 60s. Impostare su 0 per disabilitare. + worker { # Crea un worker specifico per questo server. Può essere specificato più volte per più worker. file # Imposta il percorso dello script worker; può essere relativo alla root di php_server. num # Imposta il numero di thread PHP da avviare, predefinito: 2x il numero di CPU disponibili. - name # Imposta il nome del worker, usato nei log e nelle metriche. Predefinito: percorso assoluto del file worker. Postfisso con un numero se il nome è già in uso. - watch # Imposta il percorso da osservare per le modifiche ai file. Può essere indicato più volte per più percorsi. - env # Imposta una variabile di ambiente aggiuntiva al valore specificato. Può essere indicata più volte per più variabili di ambiente. Le variabili di ambiente per questo worker sono ereditate anche dal parent php_server, ma possono essere sovrascritte qui. + name # Imposta il nome per il worker, usato nei log e nelle metriche. Predefinito: percorso assoluto del file worker. Viene aggiunto un suffisso numerico se il nome è già in uso. + watch # Imposta il percorso da osservare per le modifiche ai file. Può essere specificato più volte per più percorsi. + env # Imposta una variabile di ambiente aggiuntiva al valore specificato. Può essere specificata più volte per più variabili d'ambiente. Le variabili d'ambiente per questo worker sono ereditate anche dal parent php_server, ma possono essere sovrascritte qui. match # Associa il worker a un pattern di percorso. Sovrascrive try_files e può essere usato solo nella direttiva php_server. } worker # È possibile usare anche la forma breve, come nel blocco globale frankenphp. @@ -225,27 +225,27 @@ Ciò è utile per gli ambienti di sviluppo. Questa funzione viene spesso utilizzata in combinazione con il [ricaricamento a caldo](hot-reload.md). -Se la cartella `watch` non è specificata, ricadrà su `./**/*.{env,php,twig,yaml,yml}`, -che controlla tutti i file `.env`, `.php`, `.twig`, `.yaml` e `.yml` nella cartella e nelle sottocartelle -dove è stato avviato il processo FrankenPHP. Puoi invece anche specificare una o più cartelle tramite un -[modello nome file shell](https://pkg.go.dev/path/filepath#Match): +Se la directory `watch` non è specificata, tornerà a `./**/*.{env,php,twig,yaml,yml}`, +che controlla tutti i file `.env`, `.php`, `.twig`, `.yaml` e `.yml` nella directory e nelle sottodirectory +dove è stato avviato il processo FrankenPHP. Puoi invece anche specificare una o più directory tramite un +[pattern di nomi di file della shell](https://pkg.go.dev/path/filepath#Match): ```caddyfile { frankenphp { worker { file /path/to/app/public/worker.php - watch /path/to/app # osserva tutti i file in tutte le sottocartelle di /path/to/app + watch /path/to/app # osserva tutti i file in tutte le sottodirectory di /path/to/app watch /path/to/app/*.php # osserva i file che terminano con .php in /path/to/app - watch /path/to/app/**/*.php # osserva i file PHP in /path/to/app e nelle sottocartelle - watch /path/to/app/**/*.{php,twig} # osserva i file PHP e Twig in /path/to/app e nelle sottocartelle + watch /path/to/app/**/*.php # osserva i file PHP in /path/to/app e nelle sottodirectory + watch /path/to/app/**/*.{php,twig} # osserva i file PHP e Twig in /path/to/app e nelle sottodirectory } } } ``` -- Il modello `**` indica la visione ricorsiva -- Le cartelle possono anche essere relative (a dove viene avviato il processo FrankenPHP) +- Il pattern `**` indica il monitoraggio ricorsivo +- Le directory possono anche essere relative (a dove viene avviato il processo FrankenPHP) - Se sono definiti più worker, tutti verranno riavviati quando un file cambia - Prestate attenzione a monitorare i file creati in fase di esecuzione (come i log) poiché potrebbero causare riavvii indesiderati del worker. @@ -253,13 +253,13 @@ Il file watcher è basato su [e-dant/watcher](https://github.com/e-dant/watcher) ## Abbinamento del worker a un percorso -Nelle applicazioni PHP tradizionali, gli script vengono sempre inseriti nella cartella pubblica. +Nelle applicazioni PHP tradizionali, gli script vengono sempre inseriti nella directory pubblica. Questo vale anche per i worker, che vengono trattati come qualsiasi altro script PHP. -Se si desidera invece inserire lo script worker all'esterno della cartella pubblica, lo si può fare tramite la direttiva `match`. +Se si desidera invece inserire lo script worker all'esterno della directory pubblica, lo si può fare tramite la direttiva `match`. La direttiva `match` è un'alternativa ottimizzata a `try_files` disponibile solo all'interno di `php_server` e `php`. -L'esempio seguente servirà sempre un file nella cartella pubblica, se presente, -altrimenti inoltrerà la richiesta al worker che corrisponde al modello di percorso. +L'esempio seguente servirà sempre un file nella directory pubblica, se presente, +altrimenti inoltrerà la richiesta al worker che corrisponde al pattern di percorso. ```caddyfile { @@ -298,8 +298,8 @@ Ma quando la soluzione dipende da una terza parte che non controlli, Le seguenti variabili di ambiente possono essere utilizzate per inserire le direttive Caddy in `Caddyfile` senza modificarlo: - `SERVER_NAME`: modifica [gli indirizzi su cui ascoltare](https://caddyserver.com/docs/caddyfile/concepts#addresses), i nomi host forniti verranno utilizzati anche per il certificato TLS generato -- `SERVER_ROOT`: cambia la cartella principale del sito, il valore predefinito è `public/` -- `CADDY_GLOBAL_OPTIONS`: inserire [opzioni globali](https://caddyserver.com/docs/caddyfile/options) +- `SERVER_ROOT`: cambia la directory principale del sito, il valore predefinito è `public/` +- `CADDY_GLOBAL_OPTIONS`: inietta [opzioni globali](https://caddyserver.com/docs/caddyfile/options) - `FRANKENPHP_CONFIG`: inietta la configurazione nella direttiva `frankenphp` Per quanto riguarda le SAPI FPM e CLI, le variabili di ambiente sono esposte per impostazione predefinita nel superglobale `$_SERVER`. @@ -310,7 +310,7 @@ Il valore `S` della [direttiva PHP `variables_order`](https://www.php.net/manual Per caricare [file di configurazione PHP aggiuntivi](https://www.php.net/manual/configuration.file.php#configuration.file.scan), è possibile utilizzare la variabile di ambiente `PHP_INI_SCAN_DIR`. -Quando impostato, PHP caricherà tutti i file con estensione `.ini` presenti nelle cartelle indicate. +Quando impostato, PHP caricherà tutti i file con estensione `.ini` presenti nelle directory indicate. Puoi anche modificare la configurazione PHP utilizzando la direttiva `php_ini` in `Caddyfile`: @@ -336,11 +336,11 @@ Se si desidera disabilitare HTTPS (ad esempio in un ambiente di sviluppo), si pu In alternativa, è possibile utilizzare tutti gli altri metodi descritti nella [documentazione Caddy](https://caddyserver.com/docs/automatic-https#activation). -Se si vuole utilizzare HTTPS con l'indirizzo IP `127.0.0.1` invece del nome host `localhost`, leggere la sezione [problemi noti](known-issues.md#uso-di-https127001-con-docker). +Se si vuole utilizzare HTTPS con l'indirizzo IP `127.0.0.1` invece del nome host `localhost`, leggere la sezione [problemi noti](problemi-noti.md#utilizzo-di-https-con-127001-con-docker). ### Duplex completo (HTTP/1) -Quando si utilizza HTTP/1.x, potrebbe essere opportuno abilitare la modalità full-duplex per consentire la scrittura di una risposta prima che l'intero body +Quando si utilizza HTTP/1.x, potrebbe essere opportuno abilitare la modalità full-duplex per consentire la scrittura di una risposta prima che l'intero corpo sia stato letto (ad esempio: [Mercure](mercure.md), WebSocket, eventi inviati dal server, ecc.). Questa è una configurazione opt-in che deve essere aggiunta alle opzioni globali in `Caddyfile`: diff --git a/docs/ja/config.md b/docs/ja/config.md index 5343bcf41b..40d9f6d99c 100644 --- a/docs/ja/config.md +++ b/docs/ja/config.md @@ -1,6 +1,6 @@ --- title: Caddyfile、php.ini、環境変数によるFrankenPHPの設定 -description: Caddyfile、JSON、または環境変数を使用してFrankenPHPとCaddyを設定します。これには、PHPランタイムチューニング、ワーカーモード、ファイル監視、モジュールオプションが含まれます。 +description: Caddyfile、JSON、または環境変数を使用してFrankenPHPとCaddyを設定します。PHPランタイムのチューニング、ワーカーモード、ファイルの監視、モジュールオプションが含まれます。 --- # 設定 @@ -97,8 +97,8 @@ FrankenPHPは、`frankenphp`の[グローバルオプション](https://caddyser ```caddyfile { frankenphp { - num_threads # ワーカーが処理しないリクエストに対して開始するPHPスレッド数を設定します。ワーカーのスレッドはこれに追加されます。デフォルト: ワーカーがスレッドを確保した後に残る利用可能なCPU数の2倍(最低1つ)。 - max_threads # ワーカーを含む、同時に実行できるPHPスレッドの最大数を制限します。デフォルト: 起動時に開始されたスレッド数。'auto'に設定可能。 + num_threads # ワーカーが処理しないリクエスト用に開始するPHPスレッド数を設定します。ワーカーのスレッドはこれに追加されます。デフォルト: ワーカーがスレッドを確保した後、利用可能なCPU数の2倍から残った分、最低1つ。 + max_threads # ワーカーを含め、同時に実行できるPHPスレッドの最大数を制限します。デフォルト: 起動時に開始されたスレッド数。'auto'に設定可能。 max_wait_time # リクエストがタイムアウトする前にPHPのスレッドが空くのを待つ最大時間を設定します。デフォルト: 無効。 max_idle_time # 自動スケーリングされたスレッドが非アクティブ化されるまでにアイドル状態である最大時間を設定します。デフォルト: 5秒。 max_requests # (実験的) PHPスレッドが再起動されるまでに処理するリクエストの最大数を設定します。メモリリークの軽減に役立ちます。通常スレッドとワーカースレッドの両方に適用されます。デフォルト: 0 (無制限)。 @@ -155,7 +155,7 @@ other.example.com { より細かい制御が必要な場合は、より低レベルの`php`ディレクティブを使用できます。 `php`ディレクティブは、対象がPHPファイルかどうかを確認せず、すべての入力をPHPに渡します。 詳しくは[パフォーマンスページ](performance.md#try_files)をお読みください。 -パスに`split_path`拡張子が含まれないリクエストは、ワーカーが処理しない限り404となります。 +`split_path`拡張子のいずれもパスに含まれていないリクエストは、ワーカーが処理しない限り404となります。 `php_server`ディレクティブの使用は、以下の設定と同等です: @@ -187,14 +187,14 @@ php_server [] { root # サイトのルートフォルダを設定します。デフォルト: `root`ディレクティブ。 split_path # URIを2つの部分に分割するための部分文字列を設定します。最初にマッチする部分文字列がURIから「パス情報」を分割するために使用されます。最初の部分はマッチする部分文字列で接尾辞が付けられ、実際のリソース(CGIスクリプト)名とみなされます。2番目の部分はスクリプトが使用する PATH_INFO に設定されます。デフォルト: `.php` resolve_root_symlink false # シンボリックリンクが存在する場合`root`ディレクトリをシンボリックリンクの評価によって実際の値に解決することを無効にする(デフォルトで有効)。 - name # このサーバーの名前を設定します。ワーカー、メトリクス、ログの属性に使用されます。デフォルト: 囲むルートの最初のホストマッチャー、または最初のリスナーアドレス。 + name # このサーバーの名前を設定します。ワーカー、メトリクス、ログの紐付けに使用されます。デフォルト: 囲んでいるルートの最初のホストマッチャー、または最初のリスナーアドレス。 env # 追加の環境変数を指定された値に設定する。複数の環境変数を指定する場合は、複数回指定することができます。 file_server off # 組み込みのfile_serverディレクティブを無効にします。 - request_body_timeout # リクエストボディの読み込みに対するアイドルタイムアウトを設定します。 stalled (遅い POST) クライアントは切断されますが、安定したアップロードはサイズに関わらず成功します。デフォルト: 60秒。無効にするには 0 に設定します。 + request_body_timeout # リクエストボディの読み取りにアイドルタイムアウトを設定します。失速した(低速なPOST)クライアントは切断されますが、安定したサイズのアップロードは成功します。デフォルト: 60秒。0に設定すると無効になります。 worker { # このサーバー固有のワーカーを作成します。複数のワーカーに対して複数回指定できます。 file # ワーカースクリプトへのパスを設定します。php_serverのルートからの相対パスとなります。 num # 起動するPHPスレッド数を設定します。デフォルトは利用可能なCPU数の2倍です。 - name # ログとメトリクスで使用されるワーカーの名前を設定します。デフォルト: ワーカーファイルの絶対パス。名前が既に使用されている場合は、番号が末尾に付加されます。 + name # ログとメトリクスで使用されるワーカーの名前を設定します。デフォルト: ワーカーファイルの絶対パス。名前が既に使用されている場合は、番号が接尾辞として追加されます。 watch # ファイルの変更を監視するパスを設定する。複数のパスに対して複数回指定することができる。 env # 追加の環境変数を指定された値に設定する。複数の環境変数を指定する場合は、複数回指定することができます。このワーカーの環境変数もphp_serverの親から継承されますが、 ここで上書きすることもできます。 match # ワーカーをパスパターンにマッチさせます。try_filesを上書きし、php_serverディレクティブでのみ使用できます。 diff --git a/docs/pt-br/config.md b/docs/pt-br/config.md index f3da3b639c..21b929d1a6 100644 --- a/docs/pt-br/config.md +++ b/docs/pt-br/config.md @@ -1,6 +1,6 @@ --- title: Configurando FrankenPHP com Caddyfile, php.ini e variáveis de ambiente -description: Configure FrankenPHP e Caddy via Caddyfile, JSON ou variáveis de ambiente, incluindo ajustes de tempo de execução do PHP, modo worker, monitoramento de arquivos e opções de módulo. +description: Configure o FrankenPHP e o Caddy via Caddyfile, JSON ou variáveis de ambiente, incluindo ajuste de tempo de execução do PHP, modo worker, monitoramento de arquivos e opções de módulo. --- # Configuração @@ -98,8 +98,8 @@ Você também pode configurar explicitamente o FrankenPHP usando a [opção glob ```caddyfile { frankenphp { - num_threads # Define o número de threads PHP a serem iniciadas para requisições que nenhum worker atende, com as threads de worker sendo adicionadas a isso. Padrão: o que resta de 2x o número de CPUs disponíveis depois que os workers tiverem suas threads, no mínimo uma. - max_threads # Limita quantas threads PHP podem ser executadas simultaneamente, incluindo as threads de worker. Padrão: as threads iniciadas na inicialização. Pode ser definido como 'auto'. + num_threads # Define o número de threads PHP a serem iniciadas para as requisições que nenhum worker atende, com as threads dos workers sendo adicionadas a isso. Padrão: o que resta de 2x o número de CPUs disponíveis, depois que os workers tiverem suas threads, no mínimo uma. + max_threads # Limita quantas threads PHP podem ser executadas simultaneamente, incluindo as dos workers. Padrão: as threads iniciadas na inicialização. Pode ser definido como 'auto'. max_wait_time # Define o tempo máximo que uma requisição pode esperar por uma thread PHP livre antes de atingir o tempo limite. Padrão: desabilitado. max_idle_time # Define o tempo máximo que uma thread autoescalada pode ficar ociosa antes de ser desativada. Padrão: 5s. max_requests # (experimental) Define o número máximo de requisições que uma thread PHP irá processar antes de ser reiniciada, útil para mitigar vazamentos de memória. Aplica-se a threads regulares e de worker. Padrão: 0 (ilimitado). @@ -155,8 +155,8 @@ other.example.com { Usar a diretiva `php_server` é geralmente o que você precisa, mas se precisar de controle total, você pode usar a diretiva `php` de mais baixo nível. A diretiva `php` passa toda a entrada para o PHP, em vez de primeiro verificar -se é um arquivo PHP ou não. Leia mais sobre isso na [página de desempenho](performance.md#try_files). -Uma requisição cujo caminho não contém nenhuma das extensões `split_path` recebe um 404, a menos que um worker a manipule. +se é um arquivo PHP ou não. Leia mais sobre isso na [página de desempenho](desempenho.md#try_files). +Uma requisição cujo caminho não contém nenhuma das extensões `split_path` resulta em um 404, a menos que um worker a manipule. Usar a diretiva `php_server` é equivalente a esta configuração: @@ -186,15 +186,15 @@ As diretivas `php_server` e `php` têm as seguintes opções: ```caddyfile php_server [] { root # Define a pasta raiz para o site. Padrão: diretiva `root`. - split_path # Define as substrings para dividir o URI em duas partes. A primeira substring correspondente que termina um segmento de caminho será usada para dividir as "informações de caminho" do caminho. A primeira parte é sufixada com a substring correspondente e será assumida como o nome real do recurso (script CGI). A segunda parte será definida como PATH_INFO para o script usar. Padrão: `.php` + split_path # Define as substrings para dividir o URI em duas partes. A primeira substring correspondente que termina um segmento de caminho será usada para separar as "informações de caminho" do caminho. A primeira parte é sufixada com a substring correspondente e será assumida como o nome real do recurso (script CGI). A segunda parte será definida como PATH_INFO para o script usar. Padrão: `.php` resolve_root_symlink false # Desabilita a resolução do diretório `root` para seu valor real avaliando um link simbólico, se houver (habilitado por padrão). - name # Define o nome para este servidor, usado para atribuir workers, métricas e logs. Padrão: o primeiro host matcher da rota envolvente, ou o primeiro endereço de escuta. + name # Define o nome para este servidor, usado para atribuir workers, métricas e logs. Padrão: o primeiro host matcher da rota circundante, ou o primeiro endereço do listener. env # Define uma variável de ambiente extra para o valor fornecido. Pode ser especificada mais de uma vez para múltiplas variáveis de ambiente. file_server off # Desabilita a diretiva integrada file_server. - request_body_timeout # Define um tempo limite de inatividade nas leituras do corpo da requisição: um cliente paralisado (POST lento) é desconectado enquanto um upload constante de qualquer tamanho é bem-sucedido. Padrão: 60s. Defina como 0 para desabilitar. + request_body_timeout # Define um tempo limite de inatividade nas leituras do corpo da requisição: um cliente parado (POST lento) é desconectado enquanto um upload constante de qualquer tamanho é bem-sucedido. Padrão: 60s. Defina como 0 para desativar. worker { # Cria um worker específico para este servidor. Pode ser especificada mais de uma vez para múltiplos workers. file # Define o caminho para o script do worker, pode ser relativo à raiz do php_server - num # Define o número de threads PHP a serem iniciadas, o padrão é 2x o número de CPUs disponíveis. + num # Define o número de threads PHP a serem iniciadas, o padrão é 2x o número de CPUs disponíveis name # Define o nome para o worker, usado em logs e métricas. Padrão: caminho absoluto do arquivo do worker. Sufixado com um número se o nome já estiver em uso. watch # Define o caminho para monitorar alterações em arquivos. Pode ser especificada mais de uma vez para múltiplos caminhos. env # Define uma variável de ambiente extra para o valor fornecido. Pode ser especificada mais de uma vez para múltiplas variáveis de ambiente. As variáveis de ambiente para este worker também são herdadas do pai do php_server, mas podem ser sobrescritas aqui. @@ -336,7 +336,7 @@ Se você quiser desabilitar o HTTPS (por exemplo, em um ambiente de desenvolvime Alternativamente, você pode usar todos os outros métodos descritos na [documentação do Caddy](https://caddyserver.com/docs/automatic-https#activation). -Se você quiser usar HTTPS com o endereço IP `127.0.0.1` em vez do nome de host `localhost`, por favor, leia a seção de [problemas conhecidos](known-issues.md#using-https127001-with-docker). +Se você quiser usar HTTPS com o endereço IP `127.0.0.1` em vez do nome de host `localhost`, por favor, leia a seção de [problemas conhecidos](known-issues.md#usando-https127001-com-docker). ### Full duplex (HTTP/1) diff --git a/docs/ru/config.md b/docs/ru/config.md index 31b65d4d75..4a528042ea 100644 --- a/docs/ru/config.md +++ b/docs/ru/config.md @@ -1,6 +1,6 @@ --- -title: Настройка FrankenPHP с Caddyfile, php.ini и переменными окружения -description: Настройте FrankenPHP и Caddy через Caddyfile, JSON или переменные окружения, включая настройку среды выполнения PHP, режим worker, отслеживание файлов и опции модулей. +title: Настройка FrankenPHP с помощью Caddyfile, php.ini и переменных окружения +description: Настройте FrankenPHP и Caddy через Caddyfile, JSON или переменные окружения, включая настройку PHP-рантайма, режим worker-ов, отслеживание файлов и опции модулей. --- # Конфигурация @@ -97,18 +97,18 @@ localhost { ```caddyfile { frankenphp { - num_threads # Устанавливает количество потоков PHP для обработки запросов, не обслуживаемых воркерами; потоки воркеров добавляются сверх этого. По умолчанию: остаток от 2x количества доступных CPU после того, как воркеры получат свои потоки, но не менее одного. - max_threads # Ограничивает общее количество одновременно запущенных потоков PHP, включая потоки воркеров. По умолчанию: количество потоков, запущенных при загрузке. Может быть установлено в 'auto'. - max_wait_time # Устанавливает максимальное время, в течение которого запрос может ожидать свободный поток PHP до истечения таймаута. По умолчанию: отключено. + num_threads # Устанавливает количество PHP-потоков для обработки запросов, не обслуживаемых worker-ами; worker-потоки добавляются сверх этого. По умолчанию: остаток от 2x количества доступных CPU после выделения потоков worker-ам, как минимум один. + max_threads # Ограничивает количество PHP-потоков, которые могут выполняться одновременно, включая worker-ы. По умолчанию: количество потоков, запущенных при загрузке. Может быть установлено в 'auto'. + max_wait_time # Устанавливает максимальное время, в течение которого запрос может ожидать свободный PHP-поток до истечения таймаута. По умолчанию: отключено. max_idle_time # Устанавливает максимальное время бездействия автоматически масштабируемого потока до его деактивации. По умолчанию: 5s. max_requests # (экспериментально) Устанавливает максимальное количество запросов, которое PHP-поток обработает до перезапуска, полезно для смягчения утечек памяти. Применяется как к обычным, так и к worker-потокам. По умолчанию: 0 (без ограничений). php_ini # Устанавливает директиву php.ini. Может использоваться несколько раз для установки нескольких директив. worker { file # Устанавливает путь к worker-скрипту. - num # Устанавливает количество запускаемых потоков PHP, по умолчанию 2x от числа доступных CPU. + num # Устанавливает количество PHP-потоков для запуска, по умолчанию 2x от числа доступных CPU. env # Устанавливает дополнительную переменную окружения с заданным значением. Может быть указано несколько раз для нескольких переменных окружения. watch # Устанавливает путь для отслеживания изменений файлов. Может быть указано несколько раз для нескольких путей. - name # Устанавливает имя worker, используемое в логах и метриках. По умолчанию: абсолютный путь к файлу worker. + name # Устанавливает имя worker-а, используемое в логах и метриках. По умолчанию: абсолютный путь к файлу worker-а. max_consecutive_failures # Устанавливает максимальное количество последовательных сбоев, после которых worker считается неработоспособным; -1 означает, что worker всегда будет перезапускаться. По умолчанию: 6. } } @@ -129,7 +129,7 @@ localhost { # ... ``` -Вы также можете определить несколько workers, если обслуживаете несколько приложений на одном сервере: +Вы также можете определить несколько worker-ов, если обслуживаете несколько приложений на одном сервере: ```caddyfile app.example.com { @@ -155,7 +155,7 @@ other.example.com { но если требуется полный контроль, вы можете использовать более низкоуровневую директиву `php`. Директива `php` передает все входные данные PHP, не проверяя предварительно, является ли это PHP-файлом или нет. Подробнее об этом читайте на [странице производительности](performance.md#try_files). -Запрос, путь которого не содержит ни одного из расширений `split_path`, получает 404, если только его не обрабатывает воркер. +Запрос, путь которого не содержит ни одного из расширений `split_path`, получает 404, если только worker не обрабатывает его. Использование директивы `php_server` эквивалентно следующей конфигурации: @@ -185,19 +185,19 @@ route { ```caddyfile php_server [] { root # Устанавливает корневую папку для сайта. По умолчанию: директива `root`. - split_path # Устанавливает подстроки для разделения URI на две части. Первая совпадающая подстрока, которая заканчивает сегмент пути, будет использована для разделения "path info" от пути. Первая часть дополняется совпадающей подстрокой и считается фактическим именем ресурса (CGI-скрипта). Вторая часть будет установлена как PATH_INFO для использования скриптом. По умолчанию: `.php`. + split_path # Устанавливает подстроки для разделения URI на две части. Первая совпадающая подстрока, завершающая сегмент пути, будет использована для разделения "path info" от пути. Первая часть дополняется совпадающей подстрокой и считается фактическим именем ресурса (CGI-скрипта). Вторая часть устанавливается как PATH_INFO для использования скриптом. По умолчанию: `.php`. resolve_root_symlink false # Отключает разрешение директории `root` до ее фактического значения путем оценки символической ссылки, если таковая существует (включено по умолчанию). - name # Устанавливает имя для этого сервера, используемое для атрибуции воркеров, метрик и логов. По умолчанию: первый хост-матчер объемлющего маршрута или первый адрес прослушивателя. + name # Устанавливает имя для этого сервера, используемое для атрибуции worker-ов, метрик и логов. По умолчанию: первый хост-матчер заключающего маршрута или первый адрес слушателя. env # Устанавливает дополнительную переменную окружения с заданным значением. Может быть указано несколько раз для нескольких переменных окружения. file_server off # Отключает встроенную директиву file_server. - request_body_timeout # Устанавливает тайм-аут простоя при чтении тела запроса: зависший (медленный POST) клиент отключается, в то время как стабильная загрузка любого размера проходит успешно. По умолчанию: 60с. Установите 0, чтобы отключить. - worker { # Создает worker, специфичный для этого сервера. Может быть указано несколько раз для нескольких workers. + request_body_timeout # Устанавливает таймаут бездействия при чтении тела запроса: застопорившийся (медленный POST) клиент отключается, в то время как стабильная загрузка любого размера проходит успешно. По умолчанию: 60с. Установите 0 для отключения. + worker { # Создает worker, специфичный для этого сервера. Может быть указано несколько раз для нескольких worker-ов. file # Устанавливает путь к worker-скрипту, может быть относительным к корню php_server - num # Устанавливает количество запускаемых потоков PHP, по умолчанию 2x от числа доступных CPU - name # Устанавливает имя для воркера, используемое в логах и метриках. По умолчанию: абсолютный путь к файлу воркера. Добавляется суффикс с числом, если имя уже используется. + num # Устанавливает количество PHP-потоков для запуска, по умолчанию 2x от числа доступных CPU + name # Устанавливает имя для worker-а, используемое в логах и метриках. По умолчанию: абсолютный путь к файлу worker-а. Добавляется суффикс с номером, если имя уже используется. watch # Устанавливает путь для отслеживания изменений файлов. Может быть указано несколько раз для нескольких путей. - env # Устанавливает дополнительную переменную окружения с заданным значением. Может быть указано несколько раз для нескольких переменных окружения. Переменные окружения для этого worker также наследуются от родительского php_server, но могут быть переопределены здесь. - match # сопоставляет worker с шаблоном пути. Переопределяет try_files и может использоваться только в директиве php_server. + env # Устанавливает дополнительную переменную окружения с заданным значением. Может быть указано несколько раз для нескольких переменных окружения. Переменные окружения для этого worker-а также наследуются от родительского php_server, но могут быть переопределены здесь. + match # сопоставляет worker-а с шаблоном пути. Переопределяет try_files и может использоваться только в директиве php_server. } worker # Также можно использовать краткую форму, как и в глобальном блоке frankenphp. } @@ -205,10 +205,10 @@ php_server [] { ### Отслеживание изменений файлов -Поскольку workers запускают ваше приложение только один раз и держат его в памяти, любые изменения +Поскольку worker-ы запускают ваше приложение только один раз и держат его в памяти, любые изменения в ваших PHP-файлах не будут отражены немедленно. -Вместо этого workers могут быть перезапущены при изменении файлов с помощью директивы `watch`. +Вместо этого worker-ы могут быть перезапущены при изменении файлов с помощью директивы `watch`. Это полезно для сред разработки. ```caddyfile @@ -245,12 +245,12 @@ php_server [] { - Шаблон `**` указывает на рекурсивное отслеживание. - Директории также могут быть относительными (к месту запуска процесса FrankenPHP). -- Если у вас определено несколько workers, все они будут перезапущены при изменении файлов. -- Будьте осторожны с отслеживанием файлов, создаваемых во время выполнения (например, логов), так как это может вызвать нежелательные перезапуски workers. +- Если у вас определено несколько worker-ов, все они будут перезапущены при изменении файлов. +- Будьте осторожны с отслеживанием файлов, создаваемых во время выполнения (например, логов), так как это может вызвать нежелательные перезапуски worker-ов. Механизм отслеживания файлов основан на [e-dant/watcher](https://github.com/e-dant/watcher). -## Сопоставление worker с путем +## Сопоставление worker-а с путем В традиционных PHP-приложениях скрипты всегда размещаются в публичной директории. Это также верно для worker-скриптов, которые обрабатываются как любые другие PHP-скрипты. @@ -258,7 +258,7 @@ php_server [] { Директива `match` является оптимизированной альтернативой `try_files`, доступной только внутри `php_server` и `php`. Следующий пример всегда будет обслуживать файл в публичной директории, если он присутствует, -и в противном случае будет перенаправлять запрос worker, соответствующему шаблону пути. +и в противном случае будет перенаправлять запрос worker-у, соответствующему шаблону пути. ```caddyfile { @@ -266,7 +266,7 @@ php_server [] { php_server { worker { file /path/to/worker.php # файл может находиться вне публичного пути - match /api/* # все запросы, начинающиеся с /api/, будут обрабатываться этим worker + match /api/* # все запросы, начинающиеся с /api/, будут обрабатываться этим worker-ом } } } @@ -333,7 +333,8 @@ FrankenPHP может автоматически перезапускать PHP- ### Полный дуплекс (HTTP/1) -При использовании HTTP/1.x может быть желательно включить режим полного дуплекса, чтобы разрешить запись ответа до завершения чтения всего тела запроса. (например: [Mercure](mercure.md), WebSocket, Server-Sent Events и т.д.) +При использовании HTTP/1.x может быть желательно включить режим полного дуплекса, чтобы разрешить запись ответа до завершения чтения всего тела +было прочитано (например: [Mercure](mercure.md), WebSocket, Server-Sent Events и т.д.). Это конфигурация, которую необходимо добавить в глобальные опции в `Caddyfile`: diff --git a/docs/tr/config.md b/docs/tr/config.md index 82c718924d..a90cd24a13 100644 --- a/docs/tr/config.md +++ b/docs/tr/config.md @@ -1,9 +1,11 @@ --- -title: FrankenPHP'yi Caddyfile, php.ini ve ortam değişkenleriyle yapılandırma -description: FrankenPHP ve Caddy'yi Caddyfile, JSON veya ortam değişkenleri aracılığıyla yapılandırın; buna PHP çalışma zamanı ayarları, worker modu, dosya izleme ve modül seçenekleri dahildir. +title: FrankenPHP'yi Caddyfile, php.ini ve ortam değişkenleri ile Yapılandırma +description: FrankenPHP ve Caddy'yi Caddyfile, JSON veya ortam değişkenleri aracılığıyla yapılandırın; PHP çalışma zamanı ayarlamaları, işçi modu, dosya izleme ve modül seçenekleri dahil. --- -# Yapılandırma +# Konfigürasyon + +FrankenPHP, Caddy'nin yanı sıra [Mercure](mercure.md) ve [Vulcain](https://vulcain.rocks) modülleri, [Caddy tarafından desteklenen formatlar](https://caddyserver.com/docs/getting-started#your-first-config) kullanılarak yapılandırılabilir. FrankenPHP, Caddy'nin yanı sıra [Mercure](mercure.md) ve [Vulcain](https://vulcain.rocks) modülleri, [Caddy tarafından desteklenen formatlar](https://caddyserver.com/docs/getting-started#your-first-config) kullanılarak yapılandırılabilir. @@ -95,11 +97,11 @@ Ayrıca, FrankenPHP'yi [global seçenek](https://caddyserver.com/docs/caddyfile/ ```caddyfile { frankenphp { - num_threads # Worker'ların kendi iş parçacıklarına sahip olduktan sonra, geriye kalan mevcut CPU sayısının 2 katından kalan kadar, en az bir tane olacak şekilde, worker'ın hizmet vermediği istekler için başlatılacak PHP iş parçacığı sayısını ayarlar. Varsayılan: mevcut CPU'ların 2 katının worker'lar tarafından kullanılan kısmı çıkarıldıktan sonra kalan, en az 1. - max_threads # Worker'lar dahil olmak üzere aynı anda kaç PHP iş parçacığının çalışabileceğini sınırlar. Varsayılan: önyüklemede başlatılan iş parçacıkları. 'auto' olarak ayarlanabilir. - max_wait_time # Bir isteğin, zaman aşımına uğramadan önce boş bir PHP iş parçacığı bekleme süresinin maksimum süresini ayarlar. Varsayılan: devre dışı. + num_threads # Herhangi bir işçi tarafından hizmet verilmeyen istekler için başlatılacak PHP iş parçacığı sayısını ayarlar. İşçi iş parçacıkları bunun üzerine eklenir. Varsayılan: İşçilerin iş parçacıklarına sahip olduktan sonra mevcut CPU sayısının 2 katından kalan miktar, en az bir tane. + max_threads # İşçiler dahil olmak üzere aynı anda çalışabilecek PHP iş parçacığı sayısını sınırlar. Varsayılan: başlangıçta başlatılan iş parçacıkları. 'auto' olarak ayarlanabilir. + max_wait_time # Bir isteğin boş bir PHP iş parçacığı bekleme süresinin zaman aşımına uğramadan önceki maksimum süresini ayarlar. Varsayılan: devre dışı. max_idle_time # Otomatik ölçeklenen bir iş parçacığının devre dışı bırakılmadan önce ne kadar süre boş kalabileceğini ayarlar. Varsayılan: 5s. - max_requests # (deneysel) Bir PHP iş parçacığının yeniden başlatılmadan önce işleyeceği maksimum istek sayısını ayarlar, bellek sızıntılarını azaltmak için kullanışlıdır. Hem düzenli hem de worker iş parçacıkları için geçerlidir. Varsayılan: 0 (sınırsız). + max_requests # (deneysel) Bir PHP iş parçacığının yeniden başlatılmadan önce işleyeceği maksimum istek sayısını ayarlar, bellek sızıntılarını azaltmak için faydalıdır. Hem normal hem de işçi iş parçacıkları için geçerlidir. Varsayılan: 0 (sınırsız). php_ini # Bir php.ini yönergesi ayarlar. Birden fazla yönerge ayarlamak için birden fazla kez kullanılabilir. worker { file # Worker komut dosyasının yolunu ayarlar. @@ -152,7 +154,7 @@ other.example.com { Genellikle ihtiyacınız olan şey `php_server` yönergesini kullanmaktır, ancak tam kontrole ihtiyacınız varsa, daha düşük seviyeli `php` yönergesini kullanabilirsiniz. `php` yönergesi, önce bir PHP dosyası olup olmadığını kontrol etmek yerine tüm girdiyi PHP'ye iletir. Daha fazla bilgiyi [performans sayfasında](performance.md#try_files) okuyun. -Yolunda `split_path` uzantılarından hiçbiri bulunmayan bir istek, bir worker tarafından işlenmediği sürece 404 alır. +Yolu `split_path` uzantılarından hiçbirini içermeyen bir istek, bir işçi tarafından işlenmediği sürece 404 alır. `php_server` yönergesini kullanmak bu yapılandırmayla aynıdır: @@ -182,19 +184,19 @@ route { ```caddyfile php_server [] { root # Sitenin kök klasörünü ayarlar. Varsayılan: `root` yönergesi. - split_path # URI'yi iki parçaya bölmek için alt dizgeleri ayarlar. Bir yol segmentini sonlandıran ilk eşleşen alt dize, "yol bilgisini" yoldan ayırmak için kullanılır. İlk parça eşleşen alt dizeyle sonlandırılır ve gerçek kaynak (CGI betiği) adı olarak kabul edilir. İkinci parça betiğin kullanması için PATH_INFO olarak ayarlanacaktır. Varsayılan: `.php` + split_path # URI'yi iki parçaya bölmek için alt dizgeleri ayarlar. İlk eşleşen alt dizge bir yol segmentini bitiren "yol bilgisini" yoldan ayırmak için kullanılır. İlk parça eşleşen alt dizeyle sonlandırılır ve gerçek kaynak (CGI betiği) adı olarak kabul edilir. İkinci parça betiğin kullanması için PATH_INFO olarak ayarlanacaktır. Varsayılan: `.php` resolve_root_symlink false # Varsa, sembolik bir bağlantıyı değerlendirerek `root` dizininin gerçek değerine çözümlenmesini devre dışı bırakır (varsayılan olarak etkindir). - name # Bu sunucu için günlüklerde ve metriklerde kullanılan bir ad ayarlar. Varsayılan: çevreleyen rotanın ilk ana bilgisayar eşleştiricisi veya ilk dinleyici adresi. + name # Bu sunucu için, işçileri, metrikleri ve günlükleri ilişkilendirmek için kullanılan adı ayarlar. Varsayılan: kapsayan rotanın ilk ana bilgisayar eşleştiricisi veya ilk dinleyici adresi. env # Ek bir ortam değişkenini verilen değere ayarlar. Birden fazla ortam değişkeni için birden fazla kez belirtilebilir. file_server off # Yerleşik file_server yönergesini devre dışı bırakır. - request_body_timeout # İstek gövdesi okumalarında bir boşta kalma zaman aşımı ayarlar: tıkanmış (yavaş POST) bir istemci bağlantısı kesilirken, herhangi bir boyutta sürekli bir yükleme başarılı olur. Varsayılan: 60s. Devre dışı bırakmak için 0 olarak ayarlayın. - worker { # Bu sunucuya özgü bir worker oluşturur. Birden fazla worker için birden fazla kez belirtilebilir. - file # Worker betiğinin yolunu ayarlar, php_server köküne göre göreceli olabilir + request_body_timeout # İstek gövdesi okumalarında bir boşta kalma zaman aşımı ayarlar: takılan (yavaş POST) bir istemci kesilirken, herhangi bir boyuttaki sürekli bir yükleme başarılı olur. Varsayılan: 60s. Devre dışı bırakmak için 0 olarak ayarlayın. + worker { # Bu sunucuya özgü bir işçi oluşturur. Birden fazla işçi için birden fazla kez belirtilebilir. + file # İşçi betiğinin yolunu ayarlar, php_server köküne göre göreceli olabilir num # Başlatılacak PHP iş parçacığı sayısını ayarlar, varsayılan değer mevcut CPU'ların 2 katıdır. - name # Worker için günlüklerde ve metriklerde kullanılan bir ad ayarlar. Varsayılan: worker dosyasının mutlak yolu. Ad zaten kullanılıyorsa bir numara ile son eklenir. + name # İşçi için günlüklerde ve metriklerde kullanılan adı ayarlar. Varsayılan: işçi dosyasının mutlak yolu. Ad zaten kullanımda ise sonuna bir sayı eklenir. watch # Dosya değişikliklerini izlemek için yolu ayarlar. Birden fazla yol için birden fazla kez belirtilebilir. - env # Ek bir ortam değişkenini verilen değere ayarlar. Birden fazla ortam değişkeni için birden fazla kez belirtilebilir. Bu worker için ortam değişkenleri ayrıca php_server üst öğesinden devralınır, ancak burada geçersiz kılınabilir. - match # Worker'ı bir yol desenine eşleştirir. try_files'ı geçersiz kılar ve yalnızca php_server yönergesinde kullanılabilir. + env # Ek bir ortam değişkenini verilen değere ayarlar. Birden fazla ortam değişkeni için birden fazla kez belirtilebilir. Bu işçi için ortam değişkenleri ayrıca php_server üst öğesinden devralınır, ancak burada geçersiz kılınabilir. + match # İşçiyi bir yol desenine eşleştirir. try_files'ı geçersiz kılar ve yalnızca php_server yönergesinde kullanılabilir. } worker # Global frankenphp bloğundaki gibi kısa formu da kullanabilirsiniz. } @@ -261,11 +263,11 @@ Geleneksel PHP uygulamalarında, betikler her zaman public dizininde bulunur. Bu } ``` -## İstek sayısından sonra iş parçacıklarını yeniden başlatma (deneysel) +## İstek sayısına göre iş parçacıklarını yeniden başlatma (deneysel) -FrankenPHP, PHP iş parçacıklarını belirli bir sayıda isteği işledikten sonra otomatik olarak yeniden başlatabilir. Bir iş parçacığı sınıra ulaştığında, tüm belleği ve durumu temizleyerek tamamen yeniden başlatılır. Yeniden başlatma sırasında diğer iş parçacıkları istekleri sunmaya devam eder. +FrankenPHP, PHP iş parçacıklarını belirli bir sayıda isteği işledikten sonra otomatik olarak yeniden başlatabilir. Bir iş parçacığı sınıra ulaştığında, tüm belleği ve durumu temizleyerek tamamen yeniden başlatılır. Yeniden başlatma sırasında diğer iş parçacıkları isteklere hizmet vermeye devam eder. -Zamanla belleğin arttığını fark ederseniz, ideal çözüm sızıntıyı ilgili uzantı veya kütüphane yöneticisine bildirmektir. Ancak çözüm, kontrol edemediğiniz bir üçüncü tarafa bağlıysa, `max_requests` üretim için pragmatik ve umarız geçici bir geçici çözüm sunar: +Zamanla bellek büyümesi fark ederseniz, ideal çözüm sızıntıyı ilgili uzantı veya kütüphane bakımcısına bildirmektir. Ancak çözüm, kontrol edemediğiniz üçüncü bir tarafa bağlı olduğunda, `max_requests` üretim için pratik ve umarız geçici bir çözüm sunar: ```caddyfile { @@ -317,7 +319,7 @@ Varsayılan olarak, FrankenPHP tüm ana bilgisayar adları için (localhost dahi Alternatif olarak, [Caddy belgelerinde](https://caddyserver.com/docs/automatic-https#activation) açıklanan diğer tüm yöntemleri kullanabilirsiniz. -Eğer `localhost` ana bilgisayar adı yerine `127.0.0.1` IP adresiyle HTTPS kullanmak isterseniz, lütfen [bilinen sorunlar](known-issues.md#using-https127001-with-docker) bölümünü okuyun. +Eğer `localhost` ana bilgisayar adı yerine `127.0.0.1` IP adresiyle HTTPS kullanmak isterseniz, lütfen [bilinen sorunlar](bilinen-sorunlar.md#using-https127001-with-docker) bölümünü okuyun. ### Tam çift yönlü (HTTP/1) @@ -371,7 +373,7 @@ docker run -v $PWD:/app/public \ ## Kabuk tamamlama -FrankenPHP, Bash, Zsh, Fish ve PowerShell için yerleşik kabuk tamamlama desteği sağlar. Bu, tüm komutlar (`php-server`, `php-cli` ve `extension-init` gibi özel komutlar dahil) ve bunların bayrakları için otomatik tamamlama sağlar. +FrankenPHP, Bash, Zsh, Fish ve PowerShell için yerleşik kabuk tamamlama desteği sağlar. Bu, tüm komutlar ( `php-server`, `php-cli` ve `extension-init` gibi özelleştirilmiş komutlar dahil) ve bunların bayrakları için otomatik tamamlama sağlar. ### Bash @@ -381,7 +383,7 @@ Geçerli kabuk oturumunuzda tamamlamaları yüklemek için: source <(frankenphp completion bash) ``` -Her yeni oturum için tamamlamaları yüklemek için şunu çalıştırın: +Her yeni oturum için tamamlamaları yüklemek üzere: **Linux:** @@ -403,7 +405,7 @@ Ortamınızda kabuk tamamlama zaten etkin değilse, bunu etkinleştirmeniz gerek echo "autoload -U compinit; compinit" >> ~/.zshrc ``` -Her oturum için tamamlamaları yüklemek için, bir kez çalıştırın: +Her oturum için tamamlamaları yüklemek üzere, bir kez çalıştırın: ```console frankenphp completion zsh > "${fpath[1]}/_frankenphp" @@ -419,7 +421,7 @@ Geçerli kabuk oturumunuzda tamamlamaları yüklemek için: frankenphp completion fish | source ``` -Her yeni oturum için tamamlamaları yüklemek için, bir kez çalıştırın: +Her yeni oturum için tamamlamaları yüklemek üzere, bir kez çalıştırın: ```console frankenphp completion fish > ~/.config/fish/completions/frankenphp.fish @@ -433,7 +435,7 @@ Geçerli kabuk oturumunuzda tamamlamaları yüklemek için: frankenphp completion powershell | Out-String | Invoke-Expression ``` -Her yeni oturum için tamamlamaları yüklemek için, bir kez çalıştırın: +Her yeni oturum için tamamlamaları yüklemek üzere, bir kez çalıştırın: ```powershell frankenphp completion powershell | Out-File -FilePath (Join-Path (Split-Path $PROFILE) "frankenphp.ps1")