FrankenPHP: PHP için Modern Uygulama Sunucusu
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:
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.
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.1kullanmaya çalışmayın.https://localhostkullanın ve kendinden imzalı sertifikayı kabul edin. Kullanılacak alan adını değiştirmek içinSERVER_NAMEortam 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
- Worker modu
- Early Hints desteği (103 HTTP durum kodu)
- Real-time
- Konfigürasyon
- Docker imajları
- Production'a dağıtım
- Bağımsız kendiliğinden çalıştırılabilir PHP uygulamaları oluşturma
- Statik binary'leri oluşturma
- Kaynak dosyalarından derleme
- Laravel entegrasyonu
- Bilinen sorunlar
- Demo uygulama (Symfony) ve kıyaslamalar
- Go kütüphane dokümantasonu
- Katkıda bulunma ve hata ayıklama

