PHP Sürümü Uygulamada Nasıl Yükseltilir — Kontrol Edin, Geçiş Yapın, Doğrulayın ve Sürümü Gizleyin

Güvenlik Yayımlanma 2026-10-28 / Son kontrol 2026-10-28 / Yazar Yuki Nakazawa

2026'da CVSS 9.8 puanlı kritik bir PHP güvenlik açığı yayımlandı. Sunucusu PHP sürümünü açıklayan Japon sitelerinin 59.5%'i hâlâ düzeltilmiş sürüme güncellenmemiş bir sürüm gösteriyor (Yuki Nakazawa, Güvenlik Maruziyeti Araştırması 2026; veriler Site Scouter tarafından toplandı). Bu makale pratik adımları anlatıyor: sunucunuzun hangi PHP sürümünü çalıştırdığını nasıl öğreneceğiniz, paylaşımlı barındırmada sürümü nasıl değiştireceğiniz, ardından siteyi nasıl doğrulayacağınız ve son olarak sürüm bilgisini dış dünyaya duyurmayı nasıl durduracağınız.

Bu makale İngilizce olarak sitescouter.net ve nkzw.jp adreslerinde, Japonca olarak sitescouter.net adresinde de yayımlanmıştır. Bu, İngilizce sürümden çevrilen Site Scouter Türkçe sürümüdür.

Önce mevcut PHP sürümünüzü öğrenin

Şekil: Önce mevcut PHP sürümünüzü öğrenin
Şekil: Önce mevcut PHP sürümünüzü öğrenin

İlk adım, gerçekte neyin çalıştığını bilmektir. Kontrol etmenin birkaç yolu var; bunlardan herhangi biri yeterlidir.

Barındırma kontrol panelinizden

Şekil: Barındırma kontrol panelinizden
Şekil: Barındırma kontrol panelinizden

Paylaşımlı barındırma sağlayıcılarının çoğunun kontrol panelinde "PHP settings" (PHP ayarları) veya "PHP version" (PHP sürümü) karşılığı bir menü bulunur. Giriş yapın, alan adınızın veya sitenizin ayarlarını açın; o anda uygulanan PHP sürümü görüntülenir. Menü adları ve yerleri sağlayıcıya göre değişir; bu nedenle sağlayıcınızın güncel kılavuzuna başvurun.

WordPress "Site Health" (Site Sağlığı) ekranından

Şekil: WordPress "Site Health" (Site Sağlığı) ekranından
Şekil: WordPress "Site Health" (Site Sağlığı) ekranından

WordPress kullanıyorsanız yönetim panelinde Tools → Site Health → Info (Türkçe arayüzde Araçlar → Site Sağlığı → Bilgi) yolunu açın. "Server" (Sunucu) bölümünde mevcut PHP sürümü yer alır. Eklenti gerekmez; bu da WordPress yöneticileri için en kolay yoldur.

phpinfo() ile (çevrimiçi bırakmayın)

Şekil: phpinfo() ile (çevrimiçi bırakmayın)
Şekil: phpinfo() ile (çevrimiçi bırakmayın)

Yalnızca <?php phpinfo(); ?> içeren bir PHP dosyası yükleyip tarayıcıda açtığınızda, PHP sürümü dahil ayrıntılı ortam bilgilerini görürsünüz.

Kontrolü yaptıktan hemen sonra dosyayı silin. phpinfo() çıktısı sürüm numaralarını, yapılandırma değerlerini ve yüklü modüllerin listesini içerir — yani tam olarak bir saldırganın işine yarayacak bilgileri. Dosyayı web'de bırakmak, sunucunuzun haritasını teslim etmek demektir. Onu tek seferlik bir kontrol için geçici bir dosya olarak görün ve derhal kaldırın.

sitescouter.net'in /server/ aracıyla "dışarıdan görünen" sürümü görmek

Şekil: sitescouter.net'in /server/ aracıyla "dışarıdan görünen" sürümü görmek
Şekil: sitescouter.net'in /server/ aracıyla "dışarıdan görünen" sürümü görmek

Yukarıdaki yöntemler, sunucunun içeriden gördüğünü gösterir. Sunucunuzun ziyaretçilere gerçekte ne söylediğini görmek için Site Scouter sunucu bilgisi kontrolünü (/server/) kullanın. Bir URL girdiğinizde, Server veya X-Powered-By başlıklarında bir PHP sürümünün görünüp görünmediğini bildirir — "PHP 8.1.x" bilgisinin dışarıdan görünüp görünmediğine dair üçüncü taraf bakışı.

PHP destek takvimi ve 2026'nın kritik güvenlik açığı

Şekil: PHP destek takvimi ve 2026'nın kritik güvenlik açığı
Şekil: PHP destek takvimi ve 2026'nın kritik güvenlik açığı

Destek takvimi

Şekil: Destek takvimi
Şekil: Destek takvimi

php.net tarafından yayımlanan destek durumu (27 Ekim 2026'da kontrol edildi) aşağıda özetlenmiştir. Tarihler uzatılabilir veya değiştirilebilir; harekete geçmeden önce php.net/supported-versions.php adresinden yeniden teyit edin.

Sürüm Durum Aktif desteğin sonu Güvenlik düzeltmelerinin sonu
8.5 Destekleniyor (en yeni) 2027-12-31 2029-12-31
8.4 Destekleniyor 2026-12-31 2028-12-31
8.3 Yalnızca güvenlik düzeltmeleri 2025-12-31 2027-12-31
8.2 Yalnızca güvenlik düzeltmeleri 2024-12-31 2026-12-31
8.1 ve öncesi Destek sonu (EOL) — Sona erdi
7.x / 5.x Destek sonu (EOL) — Sona erdi

8.2 için güvenlik düzeltmeleri de 2026'nın sonunda bitiyor. Bugün 8.2 kullanıyorsanız önümüzdeki bir yıl içinde 8.3 veya daha yeni bir sürüme geçmeniz gerekir. 8.1 ve öncesi artık hiç yama almıyor ve hemen ilgilenilmesi gerekiyor.

Bu arada, PHP sürümünü açıklayan Japon sitelerinin 52.3%'i desteği sona ermiş bir sürüm gösteriyor (Yuki Nakazawa, Güvenlik Maruziyeti Araştırması 2026; veriler Site Scouter tarafından toplandı). Desteği sona ermiş bir sürümde güvenlik açığı bulunduğunda düzeltme yayımlanmaz.

Bölgelere göre PHP destek sonu oranı (PHP sürümünü açıklayan siteler içindeki pay)
Bölgelere göre PHP destek sonu oranı (PHP sürümünü açıklayan siteler içindeki pay)
PHP alt sürümüne göre Japon ana makineleri (sürümünü açıklayan ana makineler)
PHP alt sürümüne göre Japon ana makineleri (sürümünü açıklayan ana makineler)

2026'nın kritik güvenlik açığı ve düzeltilmiş sürümler

Şekil: 2026'nın kritik güvenlik açığı ve düzeltilmiş sürümler
Şekil: 2026'nın kritik güvenlik açığı ve düzeltilmiş sürümler

2026'da PHP için CVSS 9.8 (Kritik) puanlı güvenlik açıkları yayımlandı.

CVE CVSS Özet Düzeltmeyi içeren en düşük sürüm
CVE-2026-109618 9.8 Use-after-free (serbest bırakıldıktan sonra kullanım). Bellek yetersizliğinde yapılan bir longjmp'den kaynaklanır; bellek, istekler arasında sızabilir 8.2.35 / 8.3.36 / 8.4.27 / 8.5.12
CVE-2026-109619 9.8 İlişkili güvenlik açığı. Yetkili bir isteğin belleği başka bir kullanıcının isteğine akabilir 8.2.35 / 8.3.36 / 8.4.27 / 8.5.12

İstismar edilirlerse, diğer kullanıcıların oturum verileri bir isteğe karışabilir; bu da yetki yükseltmeye veya bilgi sızıntısına, en kötü durumda ise sunucuda bir web shell'e yol açabilir. Sürümünüz 8.2.35 / 8.3.36 / 8.4.27 / 8.5.12'nin altındaysa vakit kaybetmeden güncelleyin.

2026 PHP CVE'leri için hâlâ yamalanmamış bir sürüm gösteren sitelerin payı
2026 PHP CVE'leri için hâlâ yamalanmamış bir sürüm gösteren sitelerin payı

Yükseltme prosedürü

Şekil: Yükseltme prosedürü
Şekil: Yükseltme prosedürü

Adım 1: Geçişten önce yedek alın

Şekil: Adım 1: Geçişten önce yedek alın
Şekil: Adım 1: Geçişten önce yedek alın

Sürüm değişikliği PHP'nin davranışını değiştirebilir ve siteyi çökertebilir. Önce mutlaka şu yedekleri alın.

  • Veritabanı yedeği: MySQL / MariaDB dökümü (phpMyAdmin'de "Export" (Dışa aktar) ya da kontrol panelinizin yedekleme özelliği)
  • Dosya yedeği: WordPress için wp-content/ altındaki her şey (temalar, eklentiler, yüklemeler) ve wp-config.php

Adım 2: WordPress, tema ve eklenti uyumluluğunu kontrol edin

Şekil: Adım 2: WordPress, tema ve eklenti uyumluluğunu kontrol edin
Şekil: Adım 2: WordPress, tema ve eklenti uyumluluğunu kontrol edin

Ana sürümler arasında geçiş yaparken (7.x → 8.x), WordPress çekirdeğinin, temanızın ve yüklü her eklentinin hedef PHP sürümünü desteklediğini önceden teyit edin.

  • Önce WordPress çekirdeğini Dashboard → Updates (Türkçe arayüzde Başlangıç → Güncellemeler) üzerinden güncelleyin
  • Her eklenti için WordPress.org sayfasındaki "Tested up to" (Şu sürüme kadar test edildi) alanını veya geliştiricinin destek bilgilerini kontrol edin
  • Eski ve bakımı yapılmayan eklentileri değiştirmeyi düşünün

Adım 3: Hazırlık (staging) ortamında test edin (önerilir)

Şekil: Adım 3: Hazırlık (staging) ortamında test edin (önerilir)
Şekil: Adım 3: Hazırlık (staging) ortamında test edin (önerilir)

Canlı sitede geçiş yapmadan önce yeni PHP sürümünü bir hazırlık kopyasında test edin. Büyük barındırma firmalarının çoğu, kullanabileceğiniz bir staging özelliği veya alt alan adı sunar.

Hazırlık ortamı yoksa pratik alternatif, trafiğin düşük olduğu bir zaman diliminde (gece geç saatte) geçiş yapıp önemli sayfaları hemen gözle kontrol etmektir.

Adım 4: PHP sürümünü kontrol panelinden değiştirin

Şekil: Adım 4: PHP sürümünü kontrol panelinden değiştirin
Şekil: Adım 4: PHP sürümünü kontrol panelinden değiştirin

Japonya'daki başlıca paylaşımlı barındırma hizmetleri (örnek olarak verilen Japon firmaları: Sakura, Xserver, Lolipop, ConoHa WING, mixhost ve diğerleri) PHP sürümünü değiştirmek için bir kontrol paneli menüsü sunar. Tipik akış şöyledir:

  1. Barındırma kontrol paneline giriş yapın
  2. Alan adı veya site ayarlarını açın ve "PHP settings" (PHP ayarları), "PHP version" (PHP sürümü) veya "Language version" (Dil sürümü) karşılığı bir menü arayın
  3. 8.3 veya 8.4 sürümünü (barındırma firmanızın sunduğu en yeni kararlı sürüm) seçin ve kaydedin / uygulayın
  4. Değişikliğin yansıması birkaç dakika sürebilir

Menü adları ve adımlar sağlayıcıya göre farklılık gösterir. Her zaman sağlayıcınızın resmi kılavuzunu izleyin; kullanılabilir sürümler de orada listelenir.

Adım 5: Siteyi doğrulayın ve hata günlüğünü kontrol edin

Şekil: Adım 5: Siteyi doğrulayın ve hata günlüğünü kontrol edin
Şekil: Adım 5: Siteyi doğrulayın ve hata günlüğünü kontrol edin

Geçişten sonra şunları teyit edin.

  • Ana sayfa ve önemli sayfalar tarayıcıda doğru görüntüleniyor
  • WordPress yönetim paneline giriş yapabiliyorsunuz
  • PHP hata günlüğünü kontrol panelinin günlük özelliğinden veya error_log ile ayarlanmış yoldan kontrol edin. PHP Fatal error veya PHP Deprecated görürseniz, ilgili eklenti ya da tema ile ilgilenmeniz gerekir
  • Bir şey bozulursa hemen önceki sürüme dönün (panellerin çoğu anında geri almaya izin verir), nedeni bulun, sonra yeniden deneyin

Sürüm bilgisini gizleyin (güncellemeden sonra)

Şekil: Sürüm bilgisini gizleyin (güncellemeden sonra)
Şekil: Sürüm bilgisini gizleyin (güncellemeden sonra)

PHP ve web sunucuları, sürüm numaralarını duyurmayacak şekilde yapılandırılabilir. Buna "sürüm gizleme" denir — ancak sürümü gizlemek güvenlik açığını ortadan kaldırmaz. Önce yükseltmeyi tamamlayın, ardından bunu ikincil bir önlem olarak uygulayın.

Sırayı yanlış yaparsanız elinizde "numarası gizlenmiş eski bir sürüm" kalır: fark edilmesi daha zor, gerçek risk aynı.

PHP sürüm başlığını kaldırın (expose_php)

Şekil: PHP sürüm başlığını kaldırın (expose_php)
Şekil: PHP sürüm başlığını kaldırın (expose_php)

php.ini veya .htaccess dosyasına şunu ekleyin:

; add to php.ini
expose_php = Off

Barındırma firmanız php.ini dosyasını doğrudan düzenlemenize izin vermiyorsa aynı ayarı .user.ini dosyasına yazın (paylaşımlı barındırma firmalarının çoğu destekler). Yeniden yükledikten (veya değişikliğin uygulanmasını bekledikten) sonra, Site Scouter /server/ ile PHP sürümünün X-Powered-By başlığından kaybolduğunu teyit edin.

Apache'nin Server başlığını en aza indirin

Şekil: Apache'nin Server başlığını en aza indirin
Şekil: Apache'nin Server başlığını en aza indirin

Apache'yi kendiniz yönetiyorsanız (VPS veya adanmış sunucular), httpd.conf ya da apache2.conf içinde şunu ayarlayın:

ServerTokens Prod
ServerSignature Off

ServerTokens Prod sürümü atlayarak yalnızca Server: Apache döndürür. ServerSignature Off hata sayfalarından sunucu satırını kaldırır.

nginx'in Server başlığını en aza indirin

Şekil: nginx'in Server başlığını en aza indirin
Şekil: nginx'in Server başlığını en aza indirin

nginx için nginx.conf dosyasının http bloğuna şunu ekleyin:

server_tokens off;

nginx bundan sonra sürüm olmadan yalnızca Server: nginx döndürür.

Değişikliklerden sonra son kontrol

Şekil: Değişikliklerden sonra son kontrol
Şekil: Değişikliklerden sonra son kontrol

Yükseltme ve sürüm gizleme ayarları tamamlandıktan sonra sitenizi Site Scouter sunucu bilgisi kontrolünde (/server/) sorgulayın. X-Powered-By ve Server başlıkları artık sürüm numarası göstermiyorsa, sürüm dışarıdan görünmez durumdadır.

Kontrol listesi

Şekil: Kontrol listesi
Şekil: Kontrol listesi
  • [ ] Mevcut PHP sürümünü kontrol paneli, Site Health veya /server/ üzerinden kontrol ettim
  • [ ] Geçerliyse 8.1 ve öncesinin EOL olduğunu fark ettim
  • [ ] 8.2 kullanıyorsam 2026-12-31 son tarihini not ettim
  • [ ] Yedek aldım (veritabanı + dosyalar)
  • [ ] WordPress, tema ve eklenti uyumluluğunu kontrol ettim
  • [ ] PHP'yi 8.3 veya daha yenisine geçirdim (tercihen 8.4 veya 8.5; barındırma firmamın sunduğu en yeni kararlı sürüm)
  • [ ] Sürümün CVE-2026-109618 / CVE-2026-109619 için düzeltilmiş sürümlerde veya üzerinde olduğunu teyit ettim (8.2.35 / 8.3.36 / 8.4.27 / 8.5.12)
  • [ ] Geçişten sonra sitenin çalıştığını ve hata günlüğünün temiz olduğunu teyit ettim
  • [ ] expose_php = Off / ServerTokens Prod / server_tokens off ayarlarını yaptım (güncellemeden sonra)
  • [ ] /server/ ile dışarıdan hiçbir sürüm bilgisinin görünmediğini teyit ettim

İlgili makaleler

Şekil: İlgili makaleler
Şekil: İlgili makaleler

Destek tarihleri php.net/supported-versions.php kaynağına dayanmaktadır. Yayımlamadan önce en güncel tarihleri yeniden teyit edin.

SiteScouter ile kontrol edin

Geçişten önce ve sonra, sitenizin dış dünyaya hangi PHP ve sunucu sürümlerini ve hangi güvenlik başlıklarını gösterdiğini kontrol edin. Site Scouter'ın ücretsiz sunucu bilgisi kontrolü siteye yalnızca sıradan, müdahalesiz bir erişim yapar; URL'yi girmeniz yeterli, kayıt gerekmez.

Kullan: Sunucu bilgisi sorgulama

Kaynaklar

Son kontrol: 2026-10-28. Teknik özellikler ve politikalar değişebilir; harekete geçmeden önce birincil kaynakları kontrol edin.

Yazar hakkında ve iletişim

Yuki Nakazawa (kişisel blog nkzw.jp)

İletişim: Resmi site / YouTube / Instagram / LinkedIn / X / Telegram

Bu makale genel bilgi niteliğindedir; hukuki veya profesyonel tavsiye değildir. Rakamlar, sunucuların açıkladığı sürüm bilgilerine dayanır ve üst sınırlardır; herhangi bir sitenin istismar edilebilir olduğunu kanıtlamaz.