4 puan yazan GN⁺ 2024-05-31 | 1 yorum | WhatsApp'ta paylaş

Modern PHP uygulama sunucusu FrankenPHP'ye giriş

FrankenPHP nedir?

  • FrankenPHP, Go dili ile yazılmış modern bir PHP uygulama sunucusudur.
  • Caddy web sunucusuna resmi PHP çalıştırıcısını gömerek HTTP/1.1, HTTP/2 ve HTTP/3'ü destekler.
  • Otomatik HTTPS sertifikası oluşturma ve yenileme özelliği sunar (Let’s Encrypt veya ZeroSSL kullanır).

Başlıca özellikler

  • Tek bir komutla prodüksiyon seviyesinde bir PHP sunucusu çalıştırılabilir.
  • Bağımsız çalıştırılabilir ikili dosya oluşturarak PHP web uygulamaları ve komut satırı araçlarını bağımlılık olmadan çalıştırabilir.
  • Popüler PHP eklentilerini (OPcache, XDebug vb.) varsayılan olarak destekler.

Performans iyileştirmeleri

  • Worker modu: Uygulama bir kez başlatıldıktan sonra bellekte tutulur.
  • Kolay kullanım: Symfony, API Platform, Laravel vb. tarafından varsayılan olarak desteklenir.
  • Yüksek hız: API Platform uygulamalarında FPM'den 3,5 kat daha hızlıdır.
  • Verimlilik: Go'nun goroutine özelliğini kullanarak verimli performans sunar.
  • Basit dağıtım: Tek bir ikili dosya olarak çalışır ve harici servislere ihtiyaç duymaz.

FrankenPHP'nin avantajları

  • Kolay ve hızlı kurulum: PHP dosyalarını belge kök dizinine kopyalamak yeterlidir.
  • Yüksek performans: Modern web sunucusu teknolojileri ile PHP çalıştırıcısını birleştirerek yüksek performans sağlar.
  • Esneklik: Worker modu ile uyumlu olmayan uygulamalar da olduğu gibi servis edilebilir.

GN⁺ görüşü

  • İlgi çekici nokta: FrankenPHP, modern web sunucusu teknolojilerini kullanarak PHP uygulamalarının performansını önemli ölçüde artırabilir.
  • Benimserken dikkat edilmesi gerekenler: Mevcut PHP sunucu ortamlarıyla uyumluluk sorunları önceden gözden geçirilmelidir.
  • Eleştirel bakış: Yeni bir teknolojinin benimsenmesi öğrenme eğrisi ve başlangıç kurulum maliyeti yaratabilir.
  • Önerilen alternatifler: Benzer işlevler sunan RoadRunner veya Swoole gibi PHP sunucuları da değerlendirilebilir.
  • Teknoloji seçiminin artıları ve eksileri: Performans artışı ve kolay dağıtım avantajdır; ancak yeni teknoloji benimsemenin riskleri ve mevcut sistemlerle entegrasyon sorunları dikkatle incelenmelidir.

1 yorum

 
GN⁺ 2024-05-31
Hacker News görüşleri
  • 10 yıldır PHP geliştirmiyorum ama bu landing page neredeyse beni tekrar PHP’ye döndürecekti: Tasarım, renkler ve animasyonlar temiz; değer önerisi de iyi vurgulanmış. Küçük bir projeye başlamak için iyi bir yol gibi görünüyor.

  • Uzun yıllar C# geliştiricisiydim, şu anda çoğunlukla PHP8 kullanıyorum: PHP8, işleri hızla tamamlamayı sağlayan harika bir dil. Bu yön, LAMP’tan daha iyi bir yön.

  • Tech Empower benchmark’ındaki performansı merak ediyorum: Şu anda "tamamlanmadı" durumunda ve en altta yer alıyor.

  • PHP’nin entegre web sunucusunu geliştirme sırasında sık kullanıyorum: Tek iş parçacıklı olduğu için yavaş ve production ortamı için uygun değil. FrankenPHP umut verici görünüyor ama sınırlı çekirdek/thread sorunu hâlâ var. Docker imajı umut verici görünüyor.

  • FrankenPHP’yi denedim ama çok yavaş: Dokümantasyon yetersiz ve performans beklentilerin altında. FPM’den 3.5 kat daha iyi performans iddia ediyor ama gerçekte bunun %1’i bile çıkmıyor.

  • FrankenPHP’nin performans sorunları var: Buna rağmen oldukça umut verici bir proje.

  • İlgili bağlantı: Go ile yazılmış bir PHP uygulama sunucusu olan FrankenPHP’ye giriş.

  • Docker container build etme yöntemi: Docker komutlarıyla yeni bir Debian’ı gerekli container’a dönüştürmenin nasıl yapıldığı anlatılıyor.

  • FrankenPHP ve Apache’nin Mod-PHP’si ile WordPress benchmark denedim: FrankenPHP’nin üstünlüğünü göremedim. Testi Docker’da yaptım; daha derine inmek gerekiyor.

  • Bu projenin HN ana sayfasına çıkmasını görmek hoşuma gitti: FPM ile paylaşılmayan mimarinin, PHP’nin başarısını da sınırlarını da aynı anda getirdiği hissi var.