update docs to remove old references to frankenphp:static-builder (#1950)

* update docs to remove old references to frankenphp:static-builder (we have -musl and -gnu)

* remove --platform and make gnu default

* add --platform back in (let dunglas decide)

* fix missed translations
This commit is contained in:
Marc
2025-11-07 10:27:37 +01:00
committed by GitHub
parent 28d17b39dc
commit b22bdd987b
15 changed files with 146 additions and 27 deletions

View File

@@ -54,7 +54,8 @@ composer dump-env prod
1. 在准备好的应用的存储库中创建一个名为 `static-build.Dockerfile` 的文件。
```dockerfile
FROM --platform=linux/amd64 dunglas/frankenphp:static-builder
FROM --platform=linux/amd64 dunglas/frankenphp:static-builder-gnu
# 如果你打算在 glibc 系统上运行该二进制文件,请使用 static-builder-gnu
# 复制应用代码
WORKDIR /go/src/app/dist/app

View File

@@ -88,7 +88,8 @@ php artisan octane:frankenphp
1. 在您的应用程序的存储库中创建一个名为 `static-build.Dockerfile` 的文件:
```dockerfile
FROM --platform=linux/amd64 dunglas/frankenphp:static-builder
FROM --platform=linux/amd64 dunglas/frankenphp:static-builder-gnu
# 如果你打算在 musl-libc 系统上运行该二进制文件,请使用 static-builder-musl
# 复制你的应用
WORKDIR /go/src/app/dist/app

View File

@@ -54,7 +54,8 @@ The easiest way to create a Linux binary is to use the Docker-based builder we p
1. Create a file named `static-build.Dockerfile` in the repository of your app:
```dockerfile
FROM --platform=linux/amd64 dunglas/frankenphp:static-builder
FROM --platform=linux/amd64 dunglas/frankenphp:static-builder-gnu
# If you intend to run the binary on musl-libc systems, use static-builder-musl instead
# Copy your app
WORKDIR /go/src/app/dist/app

View File

@@ -56,13 +56,13 @@ La manière la plus simple de créer un binaire Linux est d'utiliser le builder
1. Créez un fichier nommé `static-build.Dockerfile` dans le répertoire de votre application préparée :
```dockerfile
FROM --platform=linux/amd64 dunglas/frankenphp:static-builder
FROM --platform=linux/amd64 dunglas/frankenphp:static-builder-gnu
# Si vous envisagez d'exécuter le binaire sur des systèmes musl-libc, utilisez plutôt static-builder-musl
# Copy your app
WORKDIR /go/src/app/dist/app
COPY . .
# Build the static binary, be sure to select only the PHP extensions you want
WORKDIR /go/src/app/
RUN EMBED=dist/app/ ./build-static.sh
```

View File

@@ -88,7 +88,8 @@ Suivez ces étapes pour empaqueter votre application Laravel en tant que binaire
1. Créez un fichier nommé `static-build.Dockerfile` dans le dépôt de votre application :
```dockerfile
FROM --platform=linux/amd64 dunglas/frankenphp:static-builder
FROM --platform=linux/amd64 dunglas/frankenphp:static-builder-gnu
# Si vous avez l'intention d'exécuter le binaire sur des systèmes musl-libc, utilisez plutôt static-builder-musl
# Copiez votre application
WORKDIR /go/src/app/dist/app

View File

@@ -54,7 +54,8 @@ Linux用バイナリを作成する最も簡単な方法は、提供されてい
1. アプリのリポジトリに`static-build.Dockerfile`というファイルを作成します:
```dockerfile
FROM --platform=linux/amd64 dunglas/frankenphp:static-builder
FROM --platform=linux/amd64 dunglas/frankenphp:static-builder-gnu
# バイナリをmusl-libcシステムで実行する場合は、static-builder-musl を使用してください
# アプリをコピー
WORKDIR /go/src/app/dist/app

View File

@@ -88,7 +88,8 @@ LaravelアプリをLinux用のスタンドアロンバイナリとしてパッ
1. アプリのリポジトリに`static-build.Dockerfile`という名前のファイルを作成します:
```dockerfile
FROM --platform=linux/amd64 dunglas/frankenphp:static-builder
FROM --platform=linux/amd64 dunglas/frankenphp:static-builder-gnu
# バイナリをmusl-libcシステムで実行する場合は、static-builder-musl を使用してください
# アプリをコピー
WORKDIR /go/src/app/dist/app

View File

@@ -90,8 +90,9 @@ Follow these steps to package your Laravel app as a standalone binary for Linux:
1. Create a file named `static-build.Dockerfile` in the repository of your app:
```dockerfile
FROM --platform=linux/amd64 dunglas/frankenphp:static-builder
FROM --platform=linux/amd64 dunglas/frankenphp:static-builder-gnu
# If you intend to run the binary on musl-libc systems, use static-builder-musl instead
# Copy your app
WORKDIR /go/src/app/dist/app
COPY . .

View File

@@ -66,7 +66,8 @@ Docker que fornecemos.
aplicação:
```dockerfile
FROM --platform=linux/amd64 dunglas/frankenphp:static-builder
FROM --platform=linux/amd64 dunglas/frankenphp:static-builder-gnu
# Se você pretende executar o binário em sistemas musl-libc, use o static-builder-musl
# Copia sua aplicação
WORKDIR /go/src/app/dist/app

View File

@@ -108,7 +108,8 @@ independente para Linux:
aplicação:
```dockerfile
FROM --platform=linux/amd64 dunglas/frankenphp:static-builder
FROM --platform=linux/amd64 dunglas/frankenphp:static-builder-gnu
# Se você pretende executar o binário em sistemas musl-libc, use o static-builder-musl
# Copia sua aplicação
WORKDIR /go/src/app/dist/app

View File

@@ -52,7 +52,8 @@ composer dump-env prod
1. Создайте файл `static-build.Dockerfile` в репозитории вашего приложения:
```dockerfile
FROM --platform=linux/amd64 dunglas/frankenphp:static-builder
FROM --platform=linux/amd64 dunglas/frankenphp:static-builder-gnu
# Если вы планируете запускать бинарный файл на системах с musl-libc, используйте static-builder-musl
# Скопировать приложение
WORKDIR /go/src/app/dist/app

View File

@@ -85,7 +85,8 @@ php artisan octane:frankenphp
1. Создайте файл с именем `static-build.Dockerfile` в репозитории вашего приложения:
```dockerfile
FROM --platform=linux/amd64 dunglas/frankenphp:static-builder
FROM --platform=linux/amd64 dunglas/frankenphp:static-builder-gnu
# Если вы планируете запускать бинарный файл на системах с musl-libc, используйте static-builder-musl
# Скопируйте ваше приложение
WORKDIR /go/src/app/dist/app

View File

@@ -46,7 +46,8 @@ Bir Linux binary çıktısı almanın en kolay yolu, sağladığımız Docker ta
1. Hazırladığınız uygulamanın deposunda `static-build.Dockerfile` adlı bir dosya oluşturun:
```dockerfile
FROM --platform=linux/amd64 dunglas/frankenphp:static-builder
FROM --platform=linux/amd64 dunglas/frankenphp:static-builder-gnu
# İkili dosyayı musl-libc sistemlerinde çalıştırmayı düşünüyorsanız static-builder-musl kullanın
# Uygulamanızı kopyalayın
WORKDIR /go/src/app/dist/app
@@ -55,7 +56,6 @@ Bir Linux binary çıktısı almanın en kolay yolu, sağladığımız Docker ta
# Statik binary dosyasını oluşturun, yalnızca istediğiniz PHP eklentilerini seçtiğinizden emin olun
WORKDIR /go/src/app/
RUN EMBED=dist/app/ \
PHP_EXTENSIONS=ctype,iconv,pdo_sqlite \
./build-static.sh
```
@@ -86,7 +86,6 @@ Docker kullanmak istemiyorsanız veya bir macOS binary dosyası oluşturmak isti
git clone https://github.com/php/frankenphp
cd frankenphp
EMBED=/path/to/your/app \
PHP_EXTENSIONS=ctype,iconv,pdo_sqlite \
./build-static.sh
```

View File

@@ -10,13 +10,13 @@ Bu komutu Laravel uygulamanızın ana dizininden çalıştırın:
docker run -p 80:80 -p 443:443 -p 443:443/udp -v $PWD:/app dunglas/frankenphp
```
And tadını çıkarın!
Ve tadını çıkarın!
## Yerel Kurulum
Alternatif olarak, Laravel projelerinizi FrankenPHP ile yerel makinenizden çalıştırabilirsiniz:
1. [Sisteminize karşılık gelen binary dosyayı indirin](https://github.com/php/frankenphp/releases)
1. [Sisteminize karşılık gelen ikili dosyayı indirin](../#standalone-binary)
2. Aşağıdaki yapılandırmayı Laravel projenizin kök dizinindeki `Caddyfile` adlı bir dosyaya ekleyin:
```caddyfile
@@ -30,8 +30,10 @@ Alternatif olarak, Laravel projelerinizi FrankenPHP ile yerel makinenizden çal
root public/
# Sıkıştırmayı etkinleştir (isteğe bağlı)
encode zstd br gzip
# PHP dosyalarını public/ dizininden çalıştırın ve varlıkları sunun
php_server
# public/ dizininden PHP dosyalarını çalıştırın ve statik dosyaları servis edin
php_server {
try_files {path} index.php
}
}
```
@@ -64,11 +66,118 @@ php artisan octane:frankenphp
- `--admin-port`: Yönetici sunucusunun erişilebilir olması gereken port (varsayılan: `2019`)
- `--workers`: İstekleri işlemek için hazır olması gereken worker sayısı (varsayılan: `auto`)
- `--max-requests`: Sunucu yeniden yüklenmeden önce işlenecek istek sayısı (varsayılan: `500`)
- `--caddyfile`: FrankenPHP `Caddyfile` dosyasının yolu
- `--caddyfile`: FrankenPHP `Caddyfile` dosyasının yolu (varsayılan: [Laravel Octane içinde bulunan şablon `Caddyfile`](https://github.com/laravel/octane/blob/2.x/src/Commands/stubs/Caddyfile))
- `--https`: HTTPS, HTTP/2 ve HTTP/3'ü etkinleştirin ve sertifikaları otomatik olarak oluşturup yenileyin
- `--http-redirect`: HTTP'den HTTPS'ye yeniden yönlendirmeyi etkinleştir (yalnızca --https geçilirse etkinleştirilir)
- `--watch`: Uygulamada kod değişikliği olduğunda sunucuyu otomatik olarak yeniden yükle
- `--http-redirect`: HTTP'den HTTPS'ye yeniden yönlendirmeyi etkinleştir (yalnızca --https ile birlikte geçilirse etkinleşir)
- `--watch`: Uygulama değiştirildiğinde sunucuyu otomatik olarak yeniden yükle
- `--poll`: Dosyaları bir ağ üzerinden izlemek için izleme sırasında dosya sistemi yoklamasını kullanın
- `--log-level`: Belirtilen günlük seviyesinde veya üzerinde günlük mesajları
- `--log-level`: Yerel Caddy günlüğünü kullanarak belirtilen günlük seviyesinde veya üzerinde mesajları kaydedin
Laravel Octane hakkında daha fazla bilgi edinmek için [Laravel Octane resmi belgelerine](https://laravel.com/docs/octane) göz atın.
> [!TIP]
> Yapılandırılmış JSON günlükleri elde etmek için (log analitik çözümleri kullanırken faydalıdır), `--log-level` seçeneğini açıkça geçin.
[Laravel Octane hakkında daha fazla bilgiyi resmi belgelerde bulabilirsiniz](https://laravel.com/docs/octane).
## Laravel Uygulamalarını Bağımsız Çalıştırılabilir Dosyalar Olarak Dağıtma
[FrankenPHP'nin uygulama gömme özelliğini](embed.md) kullanarak, Laravel
uygulamalarını bağımsız çalıştırılabilir dosyalar olarak dağıtmak mümkündür.
Linux için Laravel uygulamanızı bağımsız bir çalıştırılabilir olarak paketlemek için şu adımları izleyin:
1. Uygulamanızın deposunda `static-build.Dockerfile` adında bir dosya oluşturun:
```dockerfile
FROM --platform=linux/amd64 dunglas/frankenphp:static-builder-gnu
# İkiliyi musl-libc sistemlerinde çalıştırmayı düşünüyorsanız, bunun yerine static-builder-musl kullanın
# Uygulamanızı kopyalayın
WORKDIR /go/src/app/dist/app
COPY . .
# Yer kaplamamak için testleri ve diğer gereksiz dosyaları kaldırın
# Alternatif olarak, bu dosyaları bir .dockerignore dosyasına ekleyin
RUN rm -Rf tests/
# .env dosyasını kopyalayın
RUN cp .env.example .env
# APP_ENV ve APP_DEBUG değerlerini production için uygun hale getirin
RUN sed -i'' -e 's/^APP_ENV=.*/APP_ENV=production/' -e 's/^APP_DEBUG=.*/APP_DEBUG=false/' .env
# Gerekirse .env dosyanıza diğer değişiklikleri yapın
# Bağımlılıkları yükleyin
RUN composer install --ignore-platform-reqs --no-dev -a
# Statik ikiliyi derleyin
WORKDIR /go/src/app/
RUN EMBED=dist/app/ ./build-static.sh
```
> [!CAUTION]
> Bazı `.dockerignore` dosyaları
> `vendor/` dizinini ve `.env` dosyalarını yok sayar. Derlemeden önce `.dockerignore` dosyasını buna göre ayarladığınızdan veya kaldırdığınızdan emin olun.
2. İmajı oluşturun:
```console
docker build -t static-laravel-app -f static-build.Dockerfile .
```
3. İkili dosyayı dışa aktarın:
```console
docker cp $(docker create --name static-laravel-app-tmp static-laravel-app):/go/src/app/dist/frankenphp-linux-x86_64 frankenphp ; docker rm static-laravel-app-tmp
```
4. Önbellekleri doldurun:
```console
frankenphp php-cli artisan optimize
```
5. Veritabanı migration'larını çalıştırın (varsa):
```console
frankenphp php-cli artisan migrate
```
6. Uygulamanın gizli anahtarını oluşturun:
```console
frankenphp php-cli artisan key:generate
```
7. Sunucuyu başlatın:
```console
frankenphp php-server
```
Uygulamanız artık hazır!
Mevcut seçenekler hakkında daha fazla bilgi edinin ve diğer işletim sistemleri için nasıl ikili derleneceğini [uygulama gömme](embed.md)
belgelerinde öğrenin.
### Depolama Yolunu Değiştirme
Varsayılan olarak, Laravel yüklenen dosyaları, önbellekleri, logları vb. uygulamanın `storage/` dizininde saklar.
Gömülü uygulamalar için bu uygun değildir, çünkü her yeni sürüm farklı bir geçici dizine çıkarılacaktır.
Geçici dizin dışında bir dizin kullanmak için `LARAVEL_STORAGE_PATH` ortam değişkenini ayarlayın (örneğin, `.env` dosyanızda) veya `Illuminate\Foundation\Application::useStoragePath()` metodunu çağırın.
### Bağımsız Çalıştırılabilir Dosyalarla Octane'i Çalıştırma
Laravel Octane uygulamalarını bağımsız çalıştırılabilir dosyalar olarak paketlemek bile mümkündür!
Bunu yapmak için, [Octane'i doğru şekilde kurun](#laravel-octane) ve [önceki bölümde](#laravel-uygulamalarını-bağımsız-çalıştırılabilir-dosyalar-olarak-dağıtma) açıklanan adımları izleyin.
Ardından, Octane üzerinden FrankenPHP'yi worker modunda başlatmak için şunu çalıştırın:
```console
PATH="$PWD:$PATH" frankenphp php-cli artisan octane:frankenphp
```
> [!CAUTION]
> Komutun çalışması için, bağımsız ikili dosya mutlaka `frankenphp` olarak adlandırılmış olmalıdır,
> çünkü Octane, yol üzerinde `frankenphp` adlı bir programın mevcut olmasını bekler.

View File

@@ -29,7 +29,7 @@ ENV GOTOOLCHAIN=local
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
# labels, same as static-builder.Dockerfile
# labels, same as static-builder-musl.Dockerfile
LABEL org.opencontainers.image.title=FrankenPHP
LABEL org.opencontainers.image.description="The modern PHP app server"
LABEL org.opencontainers.image.url=https://frankenphp.dev