Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
76 changes: 76 additions & 0 deletions docs/cn/config.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 会话才能使此设置生效。
10 changes: 5 additions & 5 deletions docs/cn/hot-reload.md
Original file line number Diff line number Diff line change
Expand Up @@ -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()` 来刷新页面。
5 changes: 3 additions & 2 deletions docs/fr/config.md
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,7 @@ php_server [<matcher>] {
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 <path> # Définit le chemin vers le script worker, peut être relatif à la racine du php_server
num <num> # Définit le nombre de threads PHP à démarrer, par défaut 2x le nombre de CPU disponibles
num <num> # Définit le nombre de threads PHP à démarrer, par défaut 2x le nombre de CPUs disponibles
name <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 <path> # Définit le chemin d'accès à surveiller pour les modifications de fichiers. Peut être spécifié plusieurs fois pour plusieurs chemins.
env <key> <value> # 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.
Expand Down Expand Up @@ -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
{
Expand Down
75 changes: 75 additions & 0 deletions docs/ja/config.md
Original file line number Diff line number Diff line change
Expand Up @@ -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")'
```

この設定を有効にするには、新しいシェルを起動する必要があります。

この設定を有効にするには、新しいシェルを起動する必要があります。
16 changes: 8 additions & 8 deletions docs/ja/hot-reload.md
Original file line number Diff line number Diff line change
Expand Up @@ -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()`が呼び出されてページがリフレッシュされます。
89 changes: 82 additions & 7 deletions docs/pt-br/config.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
```
Expand Down Expand Up @@ -96,15 +96,15 @@ Você também pode configurar explicitamente o FrankenPHP usando a [opção glob
num_threads <num_threads> # Define o número de threads PHP a serem iniciadas. Padrão: 2x o número de CPUs disponíveis.
max_threads <num_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 <duration> # 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 <duration> # Define o tempo máximo que uma thread autoscaled pode ficar ociosa antes de ser desativada. Padrão: 5s.
max_idle_time <duration> # Define o tempo máximo que uma thread autoescalada pode ficar ociosa antes de ser desativada. Padrão: 5s.
php_ini <key> <value> # Define uma diretiva php.ini. Pode ser usada várias vezes para definir múltiplas diretivas.
worker {
file <path> # Define o caminho para o worker script.
file <path> # Define o caminho para o script do worker.
num <num> # Define o número de threads PHP a serem iniciadas, o padrão é 2x o número de CPUs disponíveis.
env <key> <value> # 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 <path> # Define o caminho para monitorar alterações em arquivos. Pode ser especificada mais de uma vez para múltiplos caminhos.
name <name> # Define o nome do worker, usado em logs e métricas. Padrão: caminho absoluto do arquivo do worker
max_consecutive_failures <num> # 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 <num> # 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.
}
}
}
Expand Down Expand Up @@ -182,9 +182,9 @@ php_server [<matcher>] {
split_path <delim...> # 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 <key> <value> # 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 <path> # Define o caminho para o worker script, pode ser relativo à raiz do php_server
file <path> # Define o caminho para o script do worker, pode ser relativo à raiz do php_server
num <num> # Define o número de threads PHP a serem iniciadas, o padrão é 2x o número de CPUs disponíveis.
name <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 <path> # Define o caminho para monitorar alterações em arquivos. Pode ser especificada mais de uma vez para múltiplos caminhos.
Expand Down Expand Up @@ -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.
Loading