Files

FrankenPHP: PHP için Modern Uygulama Sunucusu

FrankenPHP

FrankenPHP, Caddy web sunucusunun üzerine inşa edilmiş PHP için modern bir uygulama sunucusudur.

FrankenPHP, çarpıcı özellikleri sayesinde PHP uygulamalarınıza süper güçler kazandırır: Early Hints*, worker modu, real-time yetenekleri, otomatik HTTPS, HTTP/2 ve HTTP/3 desteği...

FrankenPHP herhangi bir PHP uygulaması ile çalışır ve worker modu ile resmi entegrasyonları sayesinde Laravel ve Symfony projelerinizi her zamankinden daha performanslı hale getirir.

FrankenPHP, PHP'yi net/http kullanarak herhangi bir uygulamaya yerleştirmek için bağımsız bir Go kütüphanesi olarak da kullanılabilir.

Frankenphp.dev adresinden ve bu slayt üzerinden daha fazlasını öğrenin:

Slides

Başlarken

Windows üzerinde FrankenPHP çalıştırmak için WSL kullanın.

Kurulum Betiği

Platformunuza uygun sürümü otomatik olarak kurmak için bu satırı terminalinize kopyalayabilirsiniz:

curl https://frankenphp.dev/install.sh | sh

Binary Çıktısı

Docker kullanmayı tercih etmiyorsanız, Linux ve macOS için geliştirme amaçlı bağımsız (statik) FrankenPHP binary dosyaları sağlıyoruz; PHP 8.4 ve en popüler PHP eklentilerinin çoğu dahildir.

FrankenPHP'yi indirin

Eklenti kurulumu: Yaygın eklentiler paketle birlikte gelir. Daha fazla eklenti yüklemek mümkün değildir.

rpm Paketleri

Bakımcılarımız dnf kullanan tüm sistemler için rpm paketleri sunuyor. Kurulum için:

sudo dnf install https://rpm.henderkes.com/static-php-1-0.noarch.rpm
sudo dnf module enable php-zts:static-8.4 # 8.2-8.5 mevcut
sudo dnf install frankenphp

Eklenti kurulumu: sudo dnf install php-zts-<extension>

Varsayılan olarak mevcut olmayan eklentiler için PIE kullanın:

sudo dnf install pie-zts
sudo pie-zts install asgrim/example-pie-extension

deb Paketleri

Bakımcılarımız apt kullanan tüm sistemler için deb paketleri sunuyor. Kurulum için:

sudo curl -fsSL https://key.henderkes.com/static-php.gpg -o /usr/share/keyrings/static-php.gpg && \
echo "deb [signed-by=/usr/share/keyrings/static-php.gpg] https://deb.henderkes.com/ stable main" | sudo tee /etc/apt/sources.list.d/static-php.list && \
sudo apt update
sudo apt install frankenphp

Eklenti kurulumu: sudo apt install php-zts-<extension>

Varsayılan olarak mevcut olmayan eklentiler için PIE kullanın:

sudo apt install pie-zts
sudo pie-zts install asgrim/example-pie-extension

Docker

docker run -v $PWD:/app/public \
    -p 80:80 -p 443:443 -p 443:443/udp \
    dunglas/frankenphp

https://localhost adresine gidin ve keyfini çıkarın!

Tip

https://127.0.0.1 kullanmaya çalışmayın. https://localhost kullanın ve kendinden imzalı sertifikayı kabul edin. Kullanılacak alan adını değiştirmek için SERVER_NAME ortam değişkenini kullanın.

Homebrew

FrankenPHP, macOS ve Linux için Homebrew paketi olarak da mevcuttur.

brew install dunglas/frankenphp/frankenphp

Eklenti kurulumu: PIE kullanın.

Kullanım

Geçerli dizinin içeriğini sunmak için çalıştırın:

frankenphp php-server

Komut satırı betiklerini şu şekilde çalıştırabilirsiniz:

frankenphp php-cli /path/to/your/script.php

deb ve rpm paketleri için systemd servisini de başlatabilirsiniz:

sudo systemctl start frankenphp

Docs

Örnekler ve İskeletler