Ubuntu 26.04'te PHP 7.4: evet, ama sadece yola devam etmek için
5 dk okuma
Eski PHP uygulamaları hayatın bir gerçeği. Zefily'nin en yeni Ubuntu'da PHP 7.3–8.1'i nasıl çalıştırdığı, onları makul ölçüde neyin güvende tuttuğu ve hedefin neden hâlâ yükseltmek olduğu.
Her ajansın bir tane vardır. 2019'da PHP 7.4 ile yapılmış, kimsenin güncellemeye cesaret edemediği bir eklentisi ve yıllar önce ayrılmış birinin yazdığı özel bir teması olan müşteri sitesi. Çalışıyor, müşteri memnun ve bu çeyrekte yeniden yazmak için bütçe yok.
Bu arada üzerinde çalıştığı sunucu yaşlanıyor; taşımak istediğiniz yeni sunucuda ise PHP 8.5 ile gelen ve daha eskisini içermeyen Ubuntu 26.04 var. Yakın zamana kadar bunun anlamı şuydu: ya eski sunucuyu yaşatın ya da önce siteyi yeniden yazın.
İkisi de iyi değil. Biz de bir şey yaptık.
Kısaca
- Zefily, Ubuntu 26.04'te PHP 7.3–8.4'ü 8.5'in yanında, amd64 ve arm64'te, nginx ya da OpenLiteSpeed ile çalıştırır.
- 8.2–8.4 php.net sürümlerinden; 7.3–8.1 Ondřej Surý'nin kaynaklarından, OpenSSL 3 ve güvenlik yamalarıyla derlenir.
- Her site,
open_basedirile sınırlı kendi PHP havuzunda kendi Linux kullanıcısı olarak çalışır. - PHP 7.3–8.1 artık PHP projesinden düzeltme almıyor: eski uygulamaları taşımak için kullanın, sonra yükseltin.
Ne değişti?
Zefily artık Ubuntu 26.04'te PHP 7.3, 7.4, 8.0, 8.1, 8.2, 8.3 ve 8.4'ü, 8.5'in yanında, hem amd64 hem arm64 sunucularda, nginx ve OpenLiteSpeed ile çalıştırıyor.
Ubuntu 24.04 ve Debian'da eski PHP sürümleri uzun zamandır Ondřej Surý'nin bilinen depolarından gelir. Ondřej, Debian ve Ubuntu'nun PHP paketlerini yönetir ve PHP'nin artık desteklemediği sürümlere güvenlik düzeltmelerini taşımaya devam eder. Bu yazının yazıldığı sırada deposu henüz Ubuntu 26.04'ü kapsamıyor; bu yüzden o sürümleri kendimiz derliyoruz:
- 8.2–8.4, her dalın en yeni php.net sürümünden,
- 7.3–8.1, Ondřej'in kaynaklarından ve yamalarıyla. Bu yamalar OpenSSL 3 desteğini (o sürümlerde aslında hiç olmayan) ve destek süresi bittikten sonra taşımayı sürdürdüğü güvenlik düzeltmelerini getirir.
Paketler imzalıdır ve kendi APT depomuzdan sunulur; otomatik güncellemeler yeni derlemeleri geldikçe kurar. Ondřej'in deposu yeni Ubuntu'yu desteklediğinde sunucular ona geçebilir ve bizim paketlerimiz yedek olarak kalır.
Eski bir sürüm köşesinde nasıl tutulur?
Eski bir PHP sürümü çalıştırmak bir risktir. Asıl soru, bu riskin sunucunun ne kadarına ulaşabildiğidir. Zefily'de her site:
- kendi Linux kullanıcısı olarak, kendi ev dizini ve dosya izinleriyle,
- kendi PHP havuzunda (PHP-FPM ya da LiteSpeed'in o sürümü derlediği yerlerde OpenLiteSpeed'de LSPHP), kendi dizinleriyle sınırlayan
open_basedirile, - sunucudaki her sürüme, eskiler dahil, uygulanan bir güvenlik temel ayarları setiyle,
- sunucunun güvenlik duvarı, CrowdSec ve açarsanız web uygulama güvenlik duvarı arkasında çalışır.
Yani 7.4 sitesindeki açıklı bir eklenti o sitenin sorunudur; yanındaki PHP 8.4'teki WordPress'e açılan bir kapı değildir.
Eski, güvenli demek değildir
Burada çok net olmak istiyoruz, çünkü "destekleniyor"u "sorun yok" diye okumak kolay. PHP 7.3–8.1 artık PHP projesinden güvenlik düzeltmesi almıyor. PHP 8.2 de 2026 sonunda onlara katılıyor. Ondřej'in taşıdığı düzeltmeler mükemmel bir emek, ama en önemli sorunları kapatmaya çalışan tek bir kişinin emeği; tam bir güvenlik ekibi değil.
Panel bu yüzden bu sürümleri destek süresi bitmiş olarak işaretler, Eski sürümleri göster arkasına saklar ve haftalık özetinize ekler. Onları bir köprü olarak görüyoruz: eski siteyi bugün eski sunucudan alın, yalıtılmış ve yapılabildiği kadar yamalı halde; sonra yükseltmeyi planlayın.
Pratik bir yol
- Önce taşıyın. Siteyi yeni sunucuda bugün ihtiyaç duyduğu PHP sürümüyle oluşturun. Dosyaları ve veritabanını kopyalayın ve DNS'i değiştirmeden önce ücretsiz
zefily.appadresinde test edin. - Korumayı açın. Siteyi bir hafta WAF arkasında yalnız tespit modunda tutun, sonra engelle. Günlük yedeklemeye devam edin.
- Adım adım yükseltin. Sitenin bir hazırlık (staging) kopyasını oluşturun ve PHP'yi her seferinde bir sürüm yükseltin: 7.4 → 8.0 → 8.1 → 8.2 → 8.4. Her adım genellikle birkaç şeyi bozar; bunları her seferinde bir sürümde düzeltmek hepsini birden düzeltmekten çok daha kolaydır.
- Eski sürümü emekliye ayırın. Hiçbir site kullanmadığında onu sunucudan kaldırın. Zefily bir sitenin hâlâ kullandığı sürümü kaldırmayı reddeder; yani yanlışlıkla bir sitenin altındaki zemini çekemezsiniz.
Dürüst özet
Eski PHP, faizi işleyen teknik bir borçtur. Onu yok edemeyiz, ama öderken taşımasını ucuzlatabiliriz: güncel bir işletim sisteminde, yalıtılmış, yaması olan yerde yamalı ve açıkça etiketlenmiş halde.
Sık sorulan sorular
Ubuntu 26.04'e PHP 7.4 kurabilir miyim?
Ubuntu 26.04 kendisi yalnızca PHP 8.5 ile gelir. Zefily orada PHP 7.3–8.4'ü kendi imzalı paketlerinden, amd64 ve arm64'te, nginx ya da OpenLiteSpeed ile kurar.
2026'da PHP 7.4 çalıştırmak güvenli mi?
Tamamen değil. PHP 7.4 artık PHP projesinden düzeltme almıyor; Ondřej Surý'nin taşıdığı yamalar en önemli sorunları kapatır. Yalıtılmış, bir web uygulama güvenlik duvarı arkasında ve yalnızca yeni bir sürüme köprü olarak çalıştırın.
Eski PHP paketleri nereden geliyor?
Ubuntu 24.04 ve Debian'da Ondřej Surý'nin depolarından. Deposunun henüz kapsamadığı Ubuntu 26.04'te Zefily derler: 8.2–8.4 php.net'ten, 7.3–8.1 onun kaynakları ve yamalarından.
PHP 8.2'nin desteği ne zaman bitiyor?
PHP 8.2, 2026 sonunda PHP projesinden güvenlik düzeltmesi almayı bırakıyor ve 7.3–8.1'e katılıyor.
Eski bir PHP sitesini nasıl yükseltmeliyim?
Önce ihtiyaç duyduğu sürümle taşıyın, sonra bir hazırlık (staging) kopyası oluşturup PHP'yi her seferinde bir sürüm yükseltin (7.4 → 8.0 → 8.1 → 8.2 → 8.4) ve her adımda bozulanı düzeltin.
Tam sürüm tablosu için desteklenen sistemler ve Web yığını belgelerine bakın.