From ace0663a35aba13c3397e455f7a80de8197cb2ae Mon Sep 17 00:00:00 2001 From: henderkes <7896469+henderkes@users.noreply.github.com> Date: Mon, 16 Mar 2026 02:49:43 +0000 Subject: [PATCH 1/2] docs: update translations --- docs/cn/config.md | 76 ++++++++++++++++++++++++++++++++++++ docs/cn/hot-reload.md | 10 ++--- docs/fr/config.md | 7 ++-- docs/ja/config.md | 75 ++++++++++++++++++++++++++++++++++++ docs/ja/hot-reload.md | 16 ++++---- docs/pt-br/config.md | 89 +++++++++++++++++++++++++++++++++++++++---- docs/ru/config.md | 77 ++++++++++++++++++++++++++++++++++++- docs/ru/hot-reload.md | 10 ++--- docs/tr/config.md | 82 +++++++++++++++++++++++++++++++++++++-- docs/tr/hot-reload.md | 16 ++++---- 10 files changed, 418 insertions(+), 40 deletions(-) diff --git a/docs/cn/config.md b/docs/cn/config.md index e451c27cbb..850d67fa4f 100644 --- a/docs/cn/config.md +++ b/docs/cn/config.md @@ -339,3 +339,79 @@ docker run -v $PWD:/app/public \ -e CADDY_GLOBAL_OPTIONS=debug \ -p 80:80 -p 443:443 -p 443:443/udp \ dunglas/frankenphp +``` + +## Shell 补全 + +FrankenPHP 提供对 Bash、Zsh、Fish 和 PowerShell 的内置 shell 补全支持。这为所有命令(包括 `php-server`、`php-cli` 和 `extension-init` 等自定义命令)及其标志启用了自动补全。 + +### Bash + +要在当前 shell 会话中加载补全: + +```console +source <(frankenphp completion bash) +``` + +要为每个新会话加载补全,运行: + +**Linux:** + +```console +frankenphp completion bash > /usr/share/bash-completion/completions/frankenphp +``` + +**macOS:** + +```console +frankenphp completion bash > $(brew --prefix)/share/bash-completion/completions/frankenphp +``` + +### Zsh + +如果您的环境中尚未启用 shell 补全,您将需要启用它。您可以执行以下命令一次: + +```console +echo "autoload -U compinit; compinit" >> ~/.zshrc +``` + +要为每个会话加载补全,请执行一次: + +```console +frankenphp completion zsh > "${fpath[1]}/_frankenphp" +``` + +您需要启动一个新的 shell 会话才能使此设置生效。 + +### Fish + +要在当前 shell 会话中加载补全: + +```console +frankenphp completion fish | source +``` + +要为每个新会话加载补全,请执行一次: + +```console +frankenphp completion fish > ~/.config/fish/completions/frankenphp.fish +``` + +### PowerShell + +要在当前 shell 会话中加载补全: + +```powershell +frankenphp completion powershell | Out-String | Invoke-Expression +``` + +要为每个新会话加载补全,请执行一次: + +```powershell +frankenphp completion powershell | Out-File -FilePath (Join-Path (Split-Path $PROFILE) "frankenphp.ps1") +Add-Content -Path $PROFILE -Value '. (Join-Path (Split-Path $PROFILE) "frankenphp.ps1")' +``` + +您需要启动一个新的 shell 会话才能使此设置生效。 + +您需要启动一个新的 shell 会话才能使此设置生效。 diff --git a/docs/cn/hot-reload.md b/docs/cn/hot-reload.md index 7bf0325f92..e83a6e5f36 100644 --- a/docs/cn/hot-reload.md +++ b/docs/cn/hot-reload.md @@ -139,11 +139,11 @@ php_server { ## 工作原理 -1. **监控**:FrankenPHP 使用底层 [e-dant/watcher 库](https://github.com/e-dant/watcher)(我们贡献了 Go 绑定)监控文件系统中的修改。 -2. **重启 (Worker 模式)**:如果 worker 配置中启用了 `watch`,PHP worker 将重新启动以加载新代码。 -3. **推送**:包含更改文件列表的 JSON 有效载荷被发送到内置的 [Mercure hub](https://mercure.rocks)。 -4. **接收**:浏览器通过 JavaScript 库监听,接收 Mercure 事件。 -5. **更新**: +1. **监控**:FrankenPHP 使用底层 [e-dant/watcher 库](https://github.com/e-dant/watcher)(我们贡献了 Go 绑定)监控文件系统中的修改。 +2. **重启 (Worker 模式)**:如果 worker 配置中启用了 `watch`,PHP worker 将重新启动以加载新代码。 +3. **推送**:包含更改文件列表的 JSON 有效载荷被发送到内置的 [Mercure hub](https://mercure.rocks)。 +4. **接收**:浏览器通过 JavaScript 库监听,接收 Mercure 事件。 +5. **更新**: - 如果检测到 **Idiomorph**,它会获取更新的内容并修改当前的 HTML 以匹配新状态,即时应用更改而不会丢失状态。 - 否则,将调用 `window.location.reload()` 来刷新页面。 diff --git a/docs/fr/config.md b/docs/fr/config.md index e6fc79eb36..a0a1a96839 100644 --- a/docs/fr/config.md +++ b/docs/fr/config.md @@ -146,7 +146,7 @@ other.example.com { ``` L'utilisation de la directive `php_server` est généralement ce dont vous avez besoin, -mais si vous avez besoin d'un contrôle total, vous pouvez utiliser la sous-directive `php`. +mais si vous avez besoin d'un contrôle total, vous pouvez utiliser la directive de plus bas niveau `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). @@ -184,7 +184,7 @@ php_server [] { file_server off # Désactive la directive file_server intégrée. 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 CPU disponibles + 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. Commence toujours par m# lorsqu'il est défini dans un bloc php_server. 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. @@ -245,7 +245,8 @@ La surveillance des fichiers est basée sur [e-dant/watcher](https://github.com/ Dans les applications PHP traditionnelles, les scripts sont toujours placés dans le répertoire public. C'est également vrai pour les scripts worker, qui sont traités comme n'importe quel autre script PHP. Si vous souhaitez plutôt placer le script worker en dehors du répertoire public, vous pouvez le faire via la directive `match`. -La directive `match` est une alternative optimisée à `try_files` disponible uniquement à l'intérieur de `php_server` et `php`. L'exemple suivant servira toujours un fichier dans le répertoire public s'il est présent et transmettra sinon la requête au worker correspondant au modèle de chemin. +La directive `match` est une alternative optimisée à `try_files` disponible uniquement à l'intérieur de `php_server` et `php`. L'exemple suivant servira toujours un fichier dans le répertoire public s'il est présent +et transmettra sinon la requête au worker correspondant au modèle de chemin. ```caddyfile { diff --git a/docs/ja/config.md b/docs/ja/config.md index d5323ded83..12a54462a6 100644 --- a/docs/ja/config.md +++ b/docs/ja/config.md @@ -347,3 +347,78 @@ docker run -v $PWD:/app/public \ -p 80:80 -p 443:443 -p 443:443/udp \ dunglas/frankenphp ``` + +## Shell Completion + +FrankenPHPはBash、Zsh、Fish、およびPowerShell用のシェル補完機能を内蔵しています。これにより、すべてのコマンド(`php-server`、`php-cli`、`extension-init`などのカスタムコマンドを含む)とそのフラグのオートコンプリートが可能になります。 + +### Bash + +現在のシェルセッションで補完を読み込むには: + +```console +source <(frankenphp completion bash) +``` + +新しいセッションごとに補完を読み込むには、以下を実行してください: + +**Linux:** + +```console +frankenphp completion bash > /usr/share/bash-completion/completions/frankenphp +``` + +**macOS:** + +```console +frankenphp completion bash > $(brew --prefix)/share/bash-completion/completions/frankenphp +``` + +### Zsh + +シェル補完がまだ環境で有効になっていない場合は、有効にする必要があります。以下のコマンドを一度実行してください: + +```console +echo "autoload -U compinit; compinit" >> ~/.zshrc +``` + +各セッションで補完を読み込むには、一度実行してください: + +```console +frankenphp completion zsh > "${fpath[1]}/_frankenphp" +``` + +この設定を有効にするには、新しいシェルを起動する必要があります。 + +### Fish + +現在のシェルセッションで補完を読み込むには: + +```console +frankenphp completion fish | source +``` + +新しいセッションごとに補完を読み込むには、一度実行してください: + +```console +frankenphp completion fish > ~/.config/fish/completions/frankenphp.fish +``` + +### PowerShell + +現在のシェルセッションで補完を読み込むには: + +```powershell +frankenphp completion powershell | Out-String | Invoke-Expression +``` + +新しいセッションごとに補完を読み込むには、一度実行してください: + +```powershell +frankenphp completion powershell | Out-File -FilePath (Join-Path (Split-Path $PROFILE) "frankenphp.ps1") +Add-Content -Path $PROFILE -Value '. (Join-Path (Split-Path $PROFILE) "frankenphp.ps1")' +``` + +この設定を有効にするには、新しいシェルを起動する必要があります。 + +この設定を有効にするには、新しいシェルを起動する必要があります。 diff --git a/docs/ja/hot-reload.md b/docs/ja/hot-reload.md index 907dac668f..2ee3f6b358 100644 --- a/docs/ja/hot-reload.md +++ b/docs/ja/hot-reload.md @@ -139,11 +139,11 @@ php_server { ## 仕組み -1. **監視**: FrankenPHPは、内部で[`e-dant/watcher`ライブラリ](https://github.com/e-dant/watcher)を使用してファイルシステムの変更を監視します(私たちはGoバインディングに貢献しました)。 -2. **再起動 (ワーカーモード)**: ワーカー設定で`watch`が有効になっている場合、新しいコードをロードするためにPHPワーカーが再起動されます。 -3. **プッシュ**: 変更されたファイルのリストを含むJSONペイロードが、組み込みの[Mercureハブ](https://mercure.rocks)に送信されます。 -4. **受信**: JavaScriptライブラリを介してリッスンしているブラウザがMercureイベントを受信します。 -5. **更新**: - - - **Idiomorph**が検出された場合、更新されたコンテンツをフェッチし、現在のHTMLを新しい状態に合わせてモーフィングし、状態を失うことなく即座に変更を適用します。 - - それ以外の場合、`window.location.reload()`が呼び出されてページがリフレッシュされます。 +1. **監視**: FrankenPHPは、内部で[`e-dant/watcher`ライブラリ](https://github.com/e-dant/watcher)を使用してファイルシステムの変更を監視します(私たちはGoバインディングに貢献しました)。 +2. **再起動 (ワーカーモード)**: ワーカー設定で`watch`が有効になっている場合、新しいコードをロードするためにPHPワーカーが再起動されます。 +3. **プッシュ**: 変更されたファイルのリストを含むJSONペイロードが、組み込みの[Mercureハブ](https://mercure.rocks)に送信されます。 +4. **受信**: JavaScriptライブラリを介してリッスンしているブラウザがMercureイベントを受信します。 +5. **更新**: + + - **Idiomorph**が検出された場合、更新されたコンテンツをフェッチし、現在のHTMLを新しい状態に合わせてモーフィングし、状態を失うことなく即座に変更を適用します。 + - それ以外の場合、`window.location.reload()`が呼び出されてページがリフレッシュされます。 diff --git a/docs/pt-br/config.md b/docs/pt-br/config.md index fab3b4faf6..82d17db493 100644 --- a/docs/pt-br/config.md +++ b/docs/pt-br/config.md @@ -9,10 +9,10 @@ Você pode especificar um caminho personalizado com a opção `-c` ou `--config` Um `Caddyfile` mínimo para servir uma aplicação PHP é mostrado abaixo: ```caddyfile -# The hostname to respond to +# O nome do host para responder localhost -# Optionally, the directory to serve files from, otherwise defaults to the current directory +# Opcionalmente, o diretório para servir arquivos, caso contrário, o padrão é o diretório atual #root public/ php_server ``` @@ -96,15 +96,15 @@ Você também pode configurar explicitamente o FrankenPHP usando a [opção glob num_threads # Define o número de threads PHP a serem iniciadas. Padrão: 2x o número de CPUs disponíveis. max_threads # Limita o número de threads PHP adicionais que podem ser iniciadas em tempo de execução. Padrão: num_threads. 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 autoscaled pode ficar ociosa antes de ser desativada. Padrão: 5s. + max_idle_time # Define o tempo máximo que uma thread autoescalada pode ficar ociosa antes de ser desativada. Padrão: 5s. php_ini # Define uma diretiva php.ini. Pode ser usada várias vezes para definir múltiplas diretivas. worker { - file # Define o caminho para o worker script. + file # Define o caminho para o script do worker. num # Define o número de threads PHP a serem iniciadas, o padrão é 2x o número de CPUs disponíveis. 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. watch # Define o caminho para monitorar alterações em arquivos. Pode ser especificada mais de uma vez para múltiplos caminhos. name # Define o nome do worker, usado em logs e métricas. Padrão: caminho absoluto do arquivo do worker - max_consecutive_failures # Define o número máximo de falhas consecutivas antes do worker ser considerado não saudável. -1 significa que o worker sempre reiniciará. Padrão: 6. + max_consecutive_failures # Define o número máximo de falhas consecutivas antes que o worker seja considerado não saudável. -1 significa que o worker sempre reiniciará. Padrão: 6. } } } @@ -182,9 +182,9 @@ php_server [] { split_path # Define as substrings para dividir o URI em duas partes. A primeira substring correspondente 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). 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 interna file_server. + file_server off # Desabilita a diretiva integrada file_server. 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 worker script, pode ser relativo à raiz do php_server + 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. name # Define o nome para o worker, usado em logs e métricas. Padrão: caminho absoluto do arquivo do worker. Sempre começa com m# quando definido em um bloco php_server. watch # Define o caminho para monitorar alterações em arquivos. Pode ser especificada mais de uma vez para múltiplos caminhos. @@ -348,3 +348,78 @@ docker run -v $PWD:/app/public \ -p 80:80 -p 443:443 -p 443:443/udp \ dunglas/frankenphp ``` + +## Autocompletar do Shell + +FrankenPHP oferece suporte integrado de autocompletar do shell para Bash, Zsh, Fish e PowerShell. Isso permite o preenchimento automático para todos os comandos (incluindo comandos personalizados como `php-server`, `php-cli` e `extension-init`) e suas flags. + +### Bash + +Para carregar o autocompletar na sua sessão atual do shell: + +```console +source <(frankenphp completion bash) +``` + +Para carregar o autocompletar para cada nova sessão, execute: + +**Linux:** + +```console +frankenphp completion bash > /usr/share/bash-completion/completions/frankenphp +``` + +**macOS:** + +```console +frankenphp completion bash > $(brew --prefix)/share/bash-completion/completions/frankenphp +``` + +### Zsh + +Se o autocompletar do shell ainda não estiver habilitado em seu ambiente, você precisará ativá-lo. Você pode executar o seguinte uma vez: + +```console +echo "autoload -U compinit; compinit" >> ~/.zshrc +``` + +Para carregar o autocompletar para cada sessão, execute uma vez: + +```console +frankenphp completion zsh > "${fpath[1]}/_frankenphp" +``` + +Você precisará iniciar um novo shell para que esta configuração tenha efeito. + +### Fish + +Para carregar o autocompletar na sua sessão atual do shell: + +```console +frankenphp completion fish | source +``` + +Para carregar o autocompletar para cada nova sessão, execute uma vez: + +```console +frankenphp completion fish > ~/.config/fish/completions/frankenphp.fish +``` + +### PowerShell + +Para carregar o autocompletar na sua sessão atual do shell: + +```powershell +frankenphp completion powershell | Out-String | Invoke-Expression +``` + +Para carregar o autocompletar para cada nova sessão, execute uma vez: + +```powershell +frankenphp completion powershell | Out-File -FilePath (Join-Path (Split-Path $PROFILE) "frankenphp.ps1") +Add-Content -Path $PROFILE -Value '. (Join-Path (Split-Path $PROFILE) "frankenphp.ps1")' +``` + +Você precisará iniciar um novo shell para que esta configuração tenha efeito. + +Você precisará iniciar um novo shell para que esta configuração tenha efeito. diff --git a/docs/ru/config.md b/docs/ru/config.md index b5ccd97630..03d1856d1d 100644 --- a/docs/ru/config.md +++ b/docs/ru/config.md @@ -312,7 +312,7 @@ php_server [] { При использовании HTTP/1.x может быть желательно включить режим полного дуплекса, чтобы разрешить запись ответа до завершения чтения всего тела запроса. (например: [Mercure](mercure.md), WebSocket, Server-Sent Events и т.д.) -Это опция, которую необходимо добавить в глобальные настройки в `Caddyfile`: +Это конфигурация, которую необходимо добавить в глобальные опции в `Caddyfile`: ```caddyfile { @@ -345,3 +345,78 @@ docker run -v $PWD:/app/public \ -p 80:80 -p 443:443 -p 443:443/udp \ dunglas/frankenphp ``` + +## Автодополнение команд оболочки + +FrankenPHP предоставляет встроенную поддержку автодополнения команд для Bash, Zsh, Fish и PowerShell. Это позволяет автоматически завершать все команды (включая пользовательские команды, такие как `php-server`, `php-cli` и `extension-init`) и их флаги. + +### Bash + +Для загрузки автодополнения в текущую сессию оболочки: + +```console +source <(frankenphp completion bash) +``` + +Для загрузки автодополнения для каждой новой сессии выполните: + +**Linux:** + +```console +frankenphp completion bash > /usr/share/bash-completion/completions/frankenphp +``` + +**macOS:** + +```console +frankenphp completion bash > $(brew --prefix)/share/bash-completion/completions/frankenphp +``` + +### Zsh + +Если автодополнение команд еще не включено в вашей среде, вам нужно будет его активировать. Вы можете выполнить следующее один раз: + +```console +echo "autoload -U compinit; compinit" >> ~/.zshrc +``` + +Чтобы загрузить автодополнение для каждой сессии, выполните один раз: + +```console +frankenphp completion zsh > "${fpath[1]}/_frankenphp" +``` + +Вам потребуется запустить новую оболочку, чтобы эти настройки вступили в силу. + +### Fish + +Для загрузки автодополнения в текущую сессию оболочки: + +```console +frankenphp completion fish | source +``` + +Для загрузки автодополнения для каждой новой сессии выполните один раз: + +```console +frankenphp completion fish > ~/.config/fish/completions/frankenphp.fish +``` + +### PowerShell + +Для загрузки автодополнения в текущую сессию оболочки: + +```powershell +frankenphp completion powershell | Out-String | Invoke-Expression +``` + +Для загрузки автодополнения для каждой новой сессии выполните один раз: + +```powershell +frankenphp completion powershell | Out-File -FilePath (Join-Path (Split-Path $PROFILE) "frankenphp.ps1") +Add-Content -Path $PROFILE -Value '. (Join-Path (Split-Path $PROFILE) "frankenphp.ps1")' +``` + +Вам потребуется запустить новую оболочку, чтобы эти настройки вступили в силу. + +Вам потребуется запустить новую оболочку, чтобы эти настройки вступили в силу. diff --git a/docs/ru/hot-reload.md b/docs/ru/hot-reload.md index faad8f745e..4443b5fd52 100644 --- a/docs/ru/hot-reload.md +++ b/docs/ru/hot-reload.md @@ -139,11 +139,11 @@ php_server { ## Как это работает -1. **Отслеживание**: FrankenPHP отслеживает изменения файловой системы, используя библиотеку [`e-dant/watcher`](https://github.com/e-dant/watcher) (мы внесли вклад в Go-биндинг). -2. **Перезапуск (Режим Worker)**: если `watch` включен в конфигурации воркера, PHP-воркер перезапускается для загрузки нового кода. -3. **Отправка**: JSON-полезная нагрузка, содержащая список измененных файлов, отправляется во встроенный [Mercure hub](https://mercure.rocks). -4. **Получение**: Браузер, прослушивающий через JavaScript-библиотеку, получает событие Mercure. -5. **Обновление**: +1. **Отслеживание**: FrankenPHP отслеживает изменения файловой системы, используя библиотеку [`e-dant/watcher`](https://github.com/e-dant/watcher) (мы внесли вклад в Go-биндинг). +2. **Перезапуск (Режим Worker)**: если `watch` включен в конфигурации воркера, PHP-воркер перезапускается для загрузки нового кода. +3. **Отправка**: JSON-полезная нагрузка, содержащая список измененных файлов, отправляется во встроенный [Mercure hub](https://mercure.rocks). +4. **Получение**: Браузер, прослушивающий через JavaScript-библиотеку, получает событие Mercure. +5. **Обновление**: - Если обнаружен **Idiomorph**, он получает обновленное содержимое и морфирует текущий HTML, чтобы соответствовать новому состоянию, применяя изменения мгновенно без потери состояния. - В противном случае вызывается `window.location.reload()` для обновления страницы. diff --git a/docs/tr/config.md b/docs/tr/config.md index f1ea522d36..790690199f 100644 --- a/docs/tr/config.md +++ b/docs/tr/config.md @@ -85,7 +85,7 @@ localhost { } ``` -Alternatif olarak, FrankenPHP'yi [global seçenek](https://caddyserver.com/docs/caddyfile/concepts#global-options) olan `frankenphp` kullanarak açıkça yapılandırabilirsiniz: +Ayrıca, FrankenPHP'yi [global seçenek](https://caddyserver.com/docs/caddyfile/concepts#global-options) olan `frankenphp` kullanarak açıkça yapılandırabilirsiniz: ```caddyfile { @@ -100,7 +100,7 @@ Alternatif olarak, FrankenPHP'yi [global seçenek](https://caddyserver.com/docs/ num # Başlatılacak PHP iş parçacığı sayısını ayarlar, varsayılan değer mevcut CPU'ların 2 katıdır. env # Ek bir ortam değişkenini verilen değere ayarlar. Birden fazla ortam değişkeni için birden fazla kez belirtilebilir. watch # Dosya değişikliklerini izlemek için yolu ayarlar. Birden fazla yol için birden fazla kez belirtilebilir. - name # İşçinin adını ayarlar, günlüklerde ve metriklerde kullanılır. Varsayılan: işçi dosyasının mutlak yolu + name # İşçinin adını ayarlar, günlüklerde ve metriklerde kullanılır. Varsayılan: işçi dosyasının mutlak yolu. max_consecutive_failures # İşçinin sağlıksız kabul edilmeden önceki maksimum ardışık hata sayısını ayarlar, -1 işçinin her zaman yeniden başlayacağı anlamına gelir. Varsayılan: 6. } } @@ -181,7 +181,7 @@ php_server [] { file_server off # Yerleşik file_server yönergesini devre dışı bırakır. 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 - num # Başlatılacak PHP iş parçacığı sayısını ayarlar, varsayılan değer mevcut CPU'ların 2 katıdır + 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. Bir php_server bloğunda tanımlandığında her zaman m# ile başlar. 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. @@ -332,3 +332,79 @@ docker run -v $PWD:/app/public \ -e CADDY_GLOBAL_OPTIONS=debug \ -p 80:80 -p 443:443 -p 443:443/udp \ dunglas/frankenphp +``` + +## Shell Completion + +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. + +### Bash + +Geçerli kabuk oturumunuzda tamamlamaları yüklemek için: + +```console +source <(frankenphp completion bash) +``` + +Her yeni oturum için tamamlamaları yüklemek için şunu çalıştırın: + +**Linux:** + +```console +frankenphp completion bash > /usr/share/bash-completion/completions/frankenphp +``` + +**macOS:** + +```console +frankenphp completion bash > $(brew --prefix)/share/bash-completion/completions/frankenphp +``` + +### Zsh + +Ortamınızda kabuk tamamlama zaten etkin değilse, bunu etkinleştirmeniz gerekecektir. Aşağıdakini bir kez çalıştırabilirsiniz: + +```console +echo "autoload -U compinit; compinit" >> ~/.zshrc +``` + +Her oturum için tamamlamaları yüklemek için, bir kez çalıştırın: + +```console +frankenphp completion zsh > "${fpath[1]}/_frankenphp" +``` + +Bu kurulumun etkili olması için yeni bir kabuk başlatmanız gerekecektir. + +### Fish + +Geçerli kabuk oturumunuzda tamamlamaları yüklemek için: + +```console +frankenphp completion fish | source +``` + +Her yeni oturum için tamamlamaları yüklemek için, bir kez çalıştırın: + +```console +frankenphp completion fish > ~/.config/fish/completions/frankenphp.fish +``` + +### PowerShell + +Geçerli kabuk oturumunuzda tamamlamaları yüklemek için: + +```powershell +frankenphp completion powershell | Out-String | Invoke-Expression +``` + +Her yeni oturum için tamamlamaları yüklemek için, bir kez çalıştırın: + +```powershell +frankenphp completion powershell | Out-File -FilePath (Join-Path (Split-Path $PROFILE) "frankenphp.ps1") +Add-Content -Path $PROFILE -Value '. (Join-Path (Split-Path $PROFILE) "frankenphp.ps1")' +``` + +Bu kurulumun etkili olması için yeni bir kabuk başlatmanız gerekecektir. + +Bu kurulumun etkili olması için yeni bir kabuk başlatmanız gerekecektir. diff --git a/docs/tr/hot-reload.md b/docs/tr/hot-reload.md index 90cabd7fa2..a6450728bd 100644 --- a/docs/tr/hot-reload.md +++ b/docs/tr/hot-reload.md @@ -140,11 +140,11 @@ php_server { ## Nasıl Çalışır -1. **İzleme**: FrankenPHP, arka planda [`e-dant/watcher` kütüphanesini](https://github.com/e-dant/watcher) kullanarak (Go bağlayıcısını biz geliştirdik) dosya sistemindeki değişiklikleri izler. -2. **Yeniden Başlatma (Çalışan Modu)**: Çalışan yapılandırmasında `watch` etkinse, yeni kodu yüklemek için PHP çalışanı yeniden başlatılır. -3. **Gönderme**: Değiştirilen dosyaların listesini içeren bir JSON yükü, yerleşik [Mercure hub'ına](https://mercure.rocks) gönderilir. -4. **Alma**: JavaScript kütüphanesi aracılığıyla dinleyen tarayıcı, Mercure olayını alır. -5. **Güncelleme**: - -- **Idiomorph** algılanırsa, güncellenmiş içeriği getirir ve mevcut HTML'i yeni duruma uydurmak için dönüştürerek, durum kaybetmeden değişiklikleri anında uygular. -- Aksi takdirde, sayfayı yenilemek için `window.location.reload()` çağrılır. +1. **İzleme**: FrankenPHP, arka planda [`e-dant/watcher` kütüphanesini](https://github.com/e-dant/watcher) kullanarak (Go bağlayıcısını biz geliştirdik) dosya sistemindeki değişiklikleri izler. +2. **Yeniden Başlatma (Çalışan Modu)**: Çalışan yapılandırmasında `watch` etkinse, yeni kodu yüklemek için PHP çalışanı yeniden başlatılır. +3. **Gönderme**: Değiştirilen dosyaların listesini içeren bir JSON yükü, yerleşik [Mercure hub'ına](https://mercure.rocks) gönderilir. +4. **Alma**: JavaScript kütüphanesi aracılığıyla dinleyen tarayıcı, Mercure olayını alır. +5. **Güncelleme**: + +- **Idiomorph** algılanırsa, güncellenmiş içeriği getirir ve mevcut HTML'i yeni duruma uydurmak için dönüştürerek, durum kaybetmeden değişiklikleri anında uygular. +- Aksi takdirde, sayfayı yenilemek için `window.location.reload()` çağrılır. From 7dd2a23775f9255db2d8b63480b75752abc1d93f Mon Sep 17 00:00:00 2001 From: Alexandre Daubois <2144837+alexandre-daubois@users.noreply.github.com> Date: Tue, 17 Mar 2026 10:01:17 +0100 Subject: [PATCH 2/2] Apply suggestion from @alexandre-daubois Signed-off-by: Alexandre Daubois <2144837+alexandre-daubois@users.noreply.github.com> --- docs/fr/config.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/fr/config.md b/docs/fr/config.md index a0a1a96839..23b41a8edf 100644 --- a/docs/fr/config.md +++ b/docs/fr/config.md @@ -146,7 +146,7 @@ other.example.com { ``` L'utilisation de la directive `php_server` est généralement ce dont vous avez besoin, -mais si vous avez besoin d'un contrôle total, vous pouvez utiliser la directive de plus bas niveau `php`. +mais si vous avez besoin d'un contrôle total, vous pouvez utiliser la sous-directive `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).