EGPHP'de PHP
İnşa ettiğimiz her şey PHP ile başlar.
Ekibimiz yirmi beş yıldır, PHP 4'ten beri PHP yazıyor ve çalıştırıyor. Sunucular, kontrol paneli ve bakımını yaptığımız siteler hep buradan başlar.
PHP
Laravel
NGINX
LiteSpeed
MySQL
MariaDB
PostgreSQL
Redis
Composer
Yirmi beş yıl, sürüm sürüm
Bu sürümleri bir yerden okumadık. Gerçek siteleri her birinden geçirerek yükselttik; aşağıdaki her satır, canlı bir sunucuda uğraşmak zorunda kaldığımız bir değişiklik.
-
PHP 4 2000
Oturumlar ve çıktı tamponlama, dilin içinde
Zend Engine geldi; oturumlar ve çıktı tamponlama eklenti olmaktan çıkıp dilin bir parçası oldu. İlk dinamik sitelerin bütün bir kuşağı onun üzerine yazıldı.
Zend Enginesession_start()ob_start()
Bizim için anlamıEkibimizin başladığı yer: register_globals hâlâ açıkken paylaşımlı sunucularda elle yazılmış siteler.
-
PHP 5.0 2004
Gerçek bir nesne modeli
Zend Engine 2; görünürlük tanımlı sınıfları, arayüzleri ve istisnaları, kopyalanmak yerine tanıtıcı üzerinden aktarılan nesneleri ve MySQLi ile SimpleXML uzantılarını getirdi.
privateinterfacetry / catchmysqli
Bizim için anlamıKod, bir ekibin ortak kullandığı sınıflar halinde düzenlenebilir oldu ve veritabanı modern bir sürücüye kavuştu.
-
PHP 5.3 2009
Ad alanları ve closure'lar
Ad alanları, anonim fonksiyonlar ve geç statik bağlama: Composer'ın ve ortak paket ekosisteminin daha sonra üzerine kurulduğu zemin.
namespacefunction () use ()static::
Bizim için anlamıFarklı yazarların kütüphaneleri, adları çakışmadan nihayet aynı projede bir arada yaşayabildi.
-
PHP 5.4 2012
Trait'ler, kısa diziler ve bir temizlik Eski kodu bozdu
Trait'ler, kısa [] dizi sözdizimi ve yerleşik bir geliştirme sunucusu geldi; register_globals, magic quotes ve safe mode ise tamamen kaldırıldı.
trait[ ]php -S
Bizim için anlamıregister_globals'a dayanan eski siteler çalışmayı bıraktı; onları yükseltmek, önce onları düzeltmek anlamına geliyordu.
-
PHP 5.5 2013
OPcache artık PHP'nin içinde
OPcache doğrudan PHP ile birlikte gelmeye başladı ve derlenmiş betikleri bellekte tuttu; yanında generator'lar ve password_hash() da geldi.
opcacheyieldpassword_hash()
Bizim için anlamıDerlenmiş kod her istekte yeniden okunmak yerine bellekte tutuldu. Herhangi bir PHP sunucusunda hâlâ ilk kontrol ettiğimiz ayar budur.
-
PHP 6 hiç yayınlanmadı
Hiç çıkmayan sürüm
PHP 6, yerel Unicode dizeler üzerine planlandı ve rafa kaldırıldı. Sonraki sürüme, 6 için yazılmış kitaplar ve planlarla karıştırılmasın diye 7 numarası verildi.
-
PHP 7.0 2015
Hız sıçraması Eski kodu bozdu
Baştan yeniden kurulmuş bir motor; PHP projesi onu 5.6'dan iki kata kadar hızlı ve daha az bellek kullanan bir motor olarak tanımladı. Yanında skaler ve dönüş tipi bildirimleri, ?? ve <=> geldi.
int $id: string??<=>
Bizim için anlamıEski mysql_* fonksiyonları kaldırıldı; bu, eski bir sitenin bu yükseltmede bozulmasının sık rastlanan nedenlerinden biriydi.
-
PHP 7.4 2019
Tipli özellikler ve ön yükleme
Tipli özellikler, ok fonksiyonları, ??= operatörü, OPcache ön yüklemesi ve FFI.
public int $idfn ($x) =>??=
Bizim için anlamıSon 7.x sürümü ve birçok eski uygulamanın en uzun süre kaldığı sürüm; siteleri ondan hâlâ bu yüzden taşıyoruz.
-
PHP 8.0 2020
JIT, öznitelikler ve adlandırılmış argümanlar Eski kodu bozdu
Bir JIT derleyicisi, öznitelikler, adlandırılmış argümanlar, birleşim tipleri, match, nullsafe ?-> operatörü ve yapıcıda özellik tanımlama.
#[Attribute]match?->JIT
Bizim için anlamıBirçok uyarı hataya dönüştü ve dizelerle sayılar arasındaki karşılaştırmalar değişti; bu yüzden 7.4'te sessizce çalışan kod 8.0'da durabiliyordu.
-
PHP 8.1 2021
Enum'lar, readonly ve fiber'lar
Yerel enum'lar, readonly özellikler, fiber'lar, never dönüş tipi ve birinci sınıf çağrılabilir sözdizimi.
enumreadonlyFibernever
Bizim için anlamıFiber'lar, sıradan bir isteğin çalışma biçimini değiştirmeden asenkron PHP kütüphanelerinin önünü açtı.
-
PHP 8.2 2022
Readonly sınıflar ve eski kod için bir uyarı
Readonly sınıflar, DNF tipleri, bağımsız tip olarak true, false ve null ile yeni bir Random uzantısı.
readonly class(A&B)|nullRandom\Randomizer
Bizim için anlamıDinamik özellikler kullanımdan kaldırılacak olarak işaretlendi; eski eklentiler güncellenene kadar logları bildirimlerle doldurdu.
-
PHP 8.3 2023
Tipli sabitler ve #[\Override]
Tipli sınıf sabitleri, #[\Override] özniteliği, json_validate() ve dinamik sınıf sabiti erişimi.
const string#[\Override]json_validate()
Bizim için anlamıDaha sakin bir sürüm; bu da onu zaten 8.2'de olan siteler için kolay bir adım yapıyor.
-
PHP 8.4 2024
Özellik kancaları
Özellik kancaları, asimetrik görünürlük, tembel nesneler, HTML5 uyumlu bir DOM ayrıştırıcı ve fazladan parantez gerektirmeyen new MyClass()->method().
get { }public private(set)Dom\HTMLDocument
Bizim için anlamıEskiden her biri için ayrı bir metot gereken getter ve setter'lar artık özelliğin kendisine ait; böylece bakımı yapılacak kod azalıyor.
-
PHP 8.5 2025
Pipe operatörü Güncel
|> pipe operatörü, yerleşik bir URI uzantısı, clone with, #[\NoDiscard] özniteliği, array_first() ile array_last() ve ölümcül hatalarda backtrace.
|>Uri\Rfc3986\Uriclone($o, [ ])
Bizim için anlamıGüncel sürüm serisi; kodları destekliyorsa yeni siteleri bu seriyle başlatıyoruz.
Yıllar, PHP projesinin kendi sürüm geçmişindeki ilk yayın yıllarıdır.
Bir isteği yığın boyunca takip edin
PHP sitesindeki bir sayfa, içeri girerken beş katmandan geçer, dönüşte de aynı beş katmandan yukarı çıkar. Her birinin bakımını biz yaparız ve her birinin kendi sayfası vardır.
-
Ziyaretçi
Bir tarayıcı HTTPS üzerinden bir sayfa ister. İsteğin içeri alınıp alınmayacağına sertifika, güvenlik duvarı ve sunucunun önündeki kurallar karar verir.
-
Web sunucusu
Bağlantıyı Nginx ya da LiteSpeed karşılar, görselleri ve dosyaları kendisi sunar, arkasındaki havuza yalnızca PHP işini devreder.
-
PHP çalışma ortamı
Her site için bir tane olmak üzere PHP-FPM havuzları: her biri kodunun ihtiyaç duyduğu PHP sürümünde, OPcache sıcak ve işçi süreçleri trafiğe göre boyutlandırılmış.
-
Kodunuz
İsteği bir çatı ya da hazır bir platform sayfaya dönüştürür: kendi Laravel uygulamanız ya da WordPress, Magento, Moodle ve diğerleri.
-
Veri
Kayıtları MySQL ya da MariaDB tutar; Redis ise tekrar tekrar istenenleri bellekte tutar.
Sunucunun kendisi
Aynı ekibin işlettiği kendi sunucularımız ve üstünde kendi kontrol panelimiz.
Kötü bir sabah yaşamadan daha yeni bir PHP'ye geçmek
Her site kendi havuzunu alır; böylece tek bir sunucu birkaç PHP sürümünü yan yana çalıştırabilir ve her site, sunucu hazır olduğunda değil, kendi kodu hazır olduğunda geçiş yapar.
Her sitenin neyle çalıştığını listeleriz
PHP sürümü, uzantıları ve onu geride tutan eklentiler ya da paketler.
Bir kopya yeni sürümü dener
Site kopyalanır ve bir sonraki PHP sürümünde çalıştırılır; hata günlüğü satır satır okunur.
Bozulanı düzeltiriz
Kaldırılmış fonksiyonlar, kullanımdan kaldırılması planlanan çağrılar ve güncellemesi olmayan eklentiler düzeltilir ya da değiştirilir.
Her seferinde bir site
Her site yeni havuzuna tek başına geçer ve gözden kaçan bir şey olursa hemen geri alınabilir.
| Site | PHP | Havuz | Durum |
|---|---|---|---|
| shop.example.com | 8.4 | fpm-shop | canlı |
| blog.example.com | 8.3 | fpm-blog | canlı |
| crm.example.com | 7.4 → 8.3 | fpm-crm | kopyada |
| learn.example.com | 8.3 | fpm-learn | canlı |
Hangi PHP sürümleri hâlâ düzeltme alıyor
PHP projesi her dalı dört yıl destekler: iki yıl hata ve güvenlik düzeltmeleri, ardından iki yıl yalnızca güvenlik düzeltmeleri. Sonrasında hiçbir düzeltme gelmez. Bu sayfadaki sürümler için takvim aşağıda.
- Hata ve güvenlik düzeltmeleri
- Yalnızca güvenlik düzeltmeleri
- Destek ömrünü doldurmuş
- Bugün
-
PHP 7.4 Destek sonu
Birçok eski uygulamanın en uzun süre kaldığı sürüm.
- Yayımlandı
- 2019-11-28
- Destek sonu
- 2022-11-28
-
PHP 8.0 Destek sonu
- Yayımlandı
- 2020-11-26
- Destek sonu
- 2023-11-26
-
PHP 8.1 Destek sonu
- Yayımlandı
- 2021-11-25
- Destek sonu
- 2025-12-31
-
PHP 8.2 Yalnızca güvenlik düzeltmeleri
- Yayımlandı
- 2022-12-08
- Hata düzeltmeleri şu tarihe kadar
- 2024-12-31
- Güvenlik düzeltmeleri şu tarihe kadar
- 2026-12-31
-
PHP 8.3 Yalnızca güvenlik düzeltmeleri
- Yayımlandı
- 2023-11-23
- Hata düzeltmeleri şu tarihe kadar
- 2025-12-31
- Güvenlik düzeltmeleri şu tarihe kadar
- 2027-12-31
-
PHP 8.4 Etkin destek
Hosting hizmetimizde çalışır; OPcache ve JIT etkindir.
- Yayımlandı
- 2024-11-21
- Hata düzeltmeleri şu tarihe kadar
- 2026-12-31
- Güvenlik düzeltmeleri şu tarihe kadar
- 2028-12-31
-
PHP 8.5 Etkin destek
Kodu destekliyorsa yeni siteleri başlattığımız yer.
- Yayımlandı
- 2025-11-20
- Hata düzeltmeleri şu tarihe kadar
- 2027-12-31
- Güvenlik düzeltmeleri şu tarihe kadar
- 2029-12-31
Tarihler PHP projesinin kendisine aittir; desteklenen sürümler ve destek sonu sayfalarından alındı ve 2026-09-29 tarihinde kontrol edildi. php.net/supported-versions.php
PHP yığını, yetenek yetenek
Bu haritadaki her şey sitenin başka bir sayfasında anlatılıyor. Her kart, konuyu ayrıntısıyla açıklayan sayfaya bağlanır.
Çalışma ortamı
PHP'nin kendisinin her site için nasıl çalıştırıldığı.
-
Site başına bir havuz
Her sitenin kendi PHP-FPM havuzu vardır; sürümü, sınırları ve işçi süreçleri yalnızca o siteye aittir.
PHP performansı -
Site başına PHP sürümü
Her site için EGPNL panelinden seçilir; böylece tek sunucu birkaç sürümü yan yana çalıştırabilir.
EGPNL kontrol paneli -
OPcache
Derlenmiş betikler siteye göre boyutlandırılmış paylaşımlı bellekte tutulur; hiçbir şeyin dışarı atılmadığından emin olmak için isabet oranı okunur.
PHP performansı -
JIT
Sıcak kodu makine koduna çevirir. İşlemciyi yoran işlerde yardımcı olur; veritabanını bekleyen tipik bir sitede pek bir şey değiştirmez.
PHP performansı -
Ön yükleme
Bir framework için çekirdek dosyaları başlangıçta bir kez yüklenir ve hazır tutulur. Yeniden başlatma dağıtımın bir parçasıdır.
PHP performansı
Araçlar
Komut satırında ve arka planda kullanabilecekleriniz.
-
Composer
Tam Composer desteği; optimize edilmiş otomatik yükleyici ve sunucuda geliştirme paketi yok.
Hosting -
Arka plan kuyruk işçileri
Kuyruk işçileri Supervisor altında çalışır; böylece yavaş işler, ziyaretçinin beklediği sayfadan uzak kalır.
Hosting -
Kabuk erişimi
PHP uygulamalarında Composer ve diğer komut satırı işleri için SSH erişimi.
Hosting -
WP-CLI ve Drush
WP-CLI, WordPress için önceden yüklüdür; Drupal, Composer ve Drush ile kurulur ve güncellenir.
PHP platformları
Eklentiler ve önbellekler
PHP'nin yüklediği modüller ve yanındaki bellek önbellekleri.
-
Sizin için yönetilen eklentiler
Destek talebi açmak yerine panelden, site başına kurulur ve değiştirilir.
Neden PHP -
ionCube Loader
Bir platformun şifrelenmiş kodu çalıştırmak için ihtiyaç duyduğu yerde kurulur; WHMCS gibi.
PHP platformları -
APCu
PHP değerleri için bellekte bir önbellek; Nextcloud gibi platformlarda önbellekleme ve dosya kilitleme için Redis ile birlikte kullanılır.
PHP platformları -
Redis
Önbellek, oturumlar, kuyruklar ve kilitler bellekte tutulur; Redis internetten erişilemez.
Veritabanları
Veri ve web sunucusu
Kayıtların tutulduğu yer ve ziyaretçiyi yanıtlayan katman.
-
MySQL ve MariaDB
Hosting'de phpMyAdmin ile yönetilen InnoDB tabloları; yönetilen sunucularda kurulur, ayarlanır ve izlenir.
Veritabanları -
PostgreSQL
Uygulamanın gerektirdiği yerde kurulur ve ayarlanır; örneğin muhasebe, ERP ve raporlar.
Veritabanları -
Nginx veya LiteSpeed
Görselleri ve dosyaları kendisi sunar, yalnızca PHP işini arkasındaki havuza devreder.
Neden Nginx -
TLS üzerinden HTTP/2
Sayfalar TLS ile HTTP/2 üzerinden sunulur; Let's Encrypt sertifikaları otomatik kurulur ve yenilenir.
Hosting

PHP'nizi bize getirin
Daha yeni bir PHP'ye ihtiyaç duyan eski bir site, kurulacak bir platform ya da hepsini çalıştıracak bir sunucu. Her iş kısa bir görüşmenin ardından fiyatlandırılır.