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
3 changes: 2 additions & 1 deletion docs/cn/embed.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
3 changes: 2 additions & 1 deletion docs/cn/laravel.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
3 changes: 2 additions & 1 deletion docs/embed.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions docs/fr/embed.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
```
Expand Down
3 changes: 2 additions & 1 deletion docs/fr/laravel.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
3 changes: 2 additions & 1 deletion docs/ja/embed.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
3 changes: 2 additions & 1 deletion docs/ja/laravel.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
5 changes: 3 additions & 2 deletions docs/laravel.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 . .
Expand Down
3 changes: 2 additions & 1 deletion docs/pt-br/embed.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
3 changes: 2 additions & 1 deletion docs/pt-br/laravel.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
3 changes: 2 additions & 1 deletion docs/ru/embed.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
3 changes: 2 additions & 1 deletion docs/ru/laravel.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
5 changes: 2 additions & 3 deletions docs/tr/embed.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
```

Expand Down Expand Up @@ -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
```

Expand Down
127 changes: 118 additions & 9 deletions docs/tr/laravel.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
}
}
```

Expand Down Expand Up @@ -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.
2 changes: 1 addition & 1 deletion static-builder-gnu.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Loading