LIONFIN

PHP 8 Güncelleme Rehberi: Performans ve Uyumluluk

PHP 7.x artık güvenlik güncellemesi almıyor ve PHP 8 aynı sunucuda belirgin hız kazandırıyor. Uyumluluk kontrolünden panel ayarına, kırılan kod kalıplarından geri alma planına kadar güvenli bir geçişin tüm adımları.

YYönetici 5 dk okuma 38 görüntülenme
PHP 8 Güncelleme Rehberi: Performans ve Uyumluluk

Hosting panelinde PHP sürümünü değiştirmek iki tık sürer; sitenin o iki tıktan sonra da çalışması ise hazırlık ister. PHP 8 güncelleme işini erteleyen site sahiplerinin çoğu, bir gün eklentiyi güncelleyemediğinde ya da bir güvenlik taramasında “desteklenmeyen PHP” uyarısı aldığında zorunlu olarak geçer; plansız geçiş ise beyaz ekranla sonuçlanır.

Bu rehber, LIONFIN cPanel hosting ve Plesk hosting hesaplarında geçişi kontrollü yapmanız için hazırlandı: neden şimdi, uyumluluk nasıl kontrol edilir, hangi kod kalıpları kırılır, panelde sürüm nasıl değiştirilir ve hata çıkarsa nasıl geri dönülür.

Neden PHP 8: performans ve güvenlik

Geçişin iki somut gerekçesi vardır.

Güvenlik ve destek: PHP 7.x sürümlerinin tamamı destek dışıdır; yeni bulunan açıklar için yama yayınlanmaz. Eski 8.x sürümleri de sırayla destek dışı kaldığından hedef olarak güncel bir 8.x sürümünü seçin. Desteklenmeyen sürümde kalmak, güncel bir CMS’i eski bir işletim sisteminde çalıştırmaya benzer: uygulama güncel olsa da altındaki katman açıktır. Bu madde web sitesi güvenliği kontrol listesi içinde de yer alır.

Performans: PHP 8 ile gelen JIT derleyici ve motor iyileştirmeleri, aynı sunucuda aynı kodla ölçülebilir hız artışı sağlar; WordPress gibi uygulamalarda sayfa üretim süresi kısalır, aynı kaynakla daha fazla eşzamanlı ziyaretçi karşılanır. Kazancın büyüklüğü uygulamaya bağlıdır; ölçmek için geçiş öncesi ve sonrası aynı sayfanın sunucu yanıt süresini karşılaştırın.

Ek olarak modern eklenti ve temalar artık PHP 8’i zorunlu kılıyor; eski sürümde kalan siteler güncellemeleri alamaz hâle gelir.

Uyumluluk kontrolü: geçmeden önce

Sürümü değiştirmeden önce dört kontrol yapın:

  1. Uygulama sürümü: CMS çekirdeğinin, temanın ve tüm eklentilerin PHP 8 desteklediği sürümde olduğunu doğrulayın; WordPress’te eklenti sayfasındaki “PHP sürümü gereksinimi” bilgisi, özel yazılımlarda geliştiricinin notu.
  2. Kullanılmayanları kaldırın: Devre dışı eklentiler de yüklenmez ama hesapta durur; PHP 8’de uyumsuz olanlar ileride etkinleştirildiğinde sorun çıkarır. Silin.
  3. Otomatik tarama: Kod tabanını PHP 8 uyumsuzlukları için tarayan araçlar (PHPCompatibility kural seti ile PHP_CodeSniffer, WordPress için PHP Compatibility Checker eklentisi) kullanılan kaldırılmış işlevleri listeler.
  4. Hata günlüğü: Mevcut sürümde Deprecated uyarılarını görünür yapın; bugün “kullanımdan kalkacak” uyarısı veren kod, PHP 8’de hataya dönüşür.

En güvenli yöntem, sitenin bir kopyasını test alt alan adında açıp PHP sürümünü önce orada değiştirmektir; cPanel’de subdomain oluşturma ve Softaculous klonlama, Plesk’te WordPress Toolkit klon özelliği bu işi görür.

İpucu: Test kopyasında yalnızca anasayfaya değil, iletişim formu, arama, ödeme ve yönetici paneline de bakın; hatalar çoğunlukla nadir kullanılan sayfalarda çıkar.

PHP 8’de kırılan kod kalıpları

Özel yazılım ya da eski tema kullanıyorsanız aşağıdaki kalıplar en sık karşılaşılan kırılma noktalarıdır:

KalıpPHP 8 davranışıÇözüm
each(), create_function(), money_format()Kaldırıldı, ölümcül hataforeach, anonim işlev, NumberFormatter
$str{0} biçiminde küme parantezli dizi erişimiKaldırıldı$str[0]
Dahili işlevlere yanlış türde parametreUyarı yerine TypeErrorParametreyi doğru türe çevirin
Dizi olmayan değere dizi erişimi, tanımsız dizinDaha sıkı uyarılarisset / ?? ile kontrol
Sayı ile metin karşılaştırma (0 == "abc")Sonuç değişti (artık false)Katı karşılaştırma ===
Dahili işlevlere null geçirme8.1’den itibaren kullanımdan kalkma uyarısıBoş değer kontrolü
Sınıfta tanımlanmamış dinamik özellikler8.2’den itibaren uyarıÖzelliği sınıfta tanımlayın
Eski mysql_* işlevleriZaten yok (7.0’dan beri)mysqli ya da PDO

Tarama aracının çıktısı bu tabloyla eşleşiyorsa düzeltmeler çoğunlukla mekaniktir; hiçbir çıktı yoksa ve uygulama güncelse geçiş büyük olasılıkla sorunsuz tamamlanır.

PHP 8 güncellemesi adım adım: cPanel ve Plesk

Hazırlık tamamlandıysa sürüm değişikliği panelden yapılır:

  1. Tam yedek alın: Dosya ve veritabanı; yöntem cPanel yedek alma rehberinde.
  2. Düşük trafikli saati seçin ve bakım bildirimi gerekiyorsa yapın.
  3. Sürümü değiştirin:
  4. PHP ayarlarını gözden geçirin: memory_limit, upload_max_filesize, max_execution_time ve gerekli uzantıların (mbstring, intl, gd, zip) yeni sürümde de açık olduğunu doğrulayın; cPanel’de MultiPHP INI Editor, Plesk’te aynı PHP Settings sayfası.
  5. Test edin: Anasayfa, iç sayfalar, formlar, yönetici paneli, ödeme akışı; hata günlüğünü açık tutun.
  6. Önbellekleri temizleyin: CMS önbelleği, sunucu önbelleği ve varsa CDN.

Değişiklik anında uygulanır; siteler genellikle saniyeler içinde yeni sürümle çalışmaya başlar.

Dikkat: MultiPHP Manager’da hesabın tüm alan adlarını birden seçmek, henüz test edilmemiş siteleri de yeni sürüme taşır; alan adlarını tek tek geçirin.

Hata çıkarsa: teşhis ve geri alma

Beyaz ekran ya da 500 hatası görürseniz paniğe gerek yok; iki seçeneğiniz var.

Hızlı geri alma: Aynı panel ekranından önceki sürümü seçin; site anında eski hâline döner. Bu, sorunu çözmez ama zaman kazandırır.

Teşhis: Hatanın nedenini görmek için hata görüntülemeyi geçici olarak açın. cPanel’de belge köküne bir .user.ini dosyası ekleyin, Plesk’te PHP Settings altındaki ek yönergeler alanına yazın:

display_errors = On
error_reporting = E_ALL
log_errors = On
error_log = /home/kullanici/php-hatalari.log

Hata mesajı genellikle dosya adı ve satır numarasıyla birlikte hangi eklentinin ya da tema dosyasının sorun çıkardığını söyler. Çözüm sırası:

  1. İlgili eklentiyi güncelleyin; güncelleme yoksa geçici olarak devre dışı bırakın (WordPress’te eklenti klasörünü FTP ile yeniden adlandırmak yeterlidir).
  2. Temaya ait bir hataysa temanın güncel sürümünü yükleyin ya da kırılan kalıbı tablodaki çözümle düzeltin.
  3. Özel kodda hata varsa geliştiriciye hata günlüğünü iletin.

Teşhis bittiğinde display_errors ayarını mutlaka kapatın; hata çıktısı dosya yollarını ziyaretçilere gösterir.

Geçiş sonrası: OPcache ve ölçüm

PHP 8 güncellemesi tamamlandıktan sonra kazancı görünür kılmak için üç iş kaldı:

  • OPcache: Derlenmiş betikleri bellekte tutan bu uzantı hosting sunucularında genellikle açıktır; PHP Settings ya da MultiPHP INI Editor’de opcache.enable değerinin açık olduğunu doğrulayın.
  • Ölçüm: Geçiş öncesi kaydettiğiniz sunucu yanıt süresini aynı sayfalar için yeniden ölçün; farkı görmek ekibin sonraki güncellemeleri ertelememesi için iyi bir gerekçedir. Diğer hız adımları web sitesi hızlandırma rehberi yazısında.
  • Uyarıları izleyin: Hata günlüğünde Deprecated satırları bir sonraki sürüm geçişinin ön habercisidir; ayda bir bakın ve eklentileri güncel tutun.

Bir sonraki büyük sürüm geldiğinde aynı süreci (test kopyası, uyumluluk taraması, panelden değişiklik, ölçüm) tekrarlamak yeterlidir; ilk geçiş en zorudur, sonrakiler rutine dönüşür.

Sık Sorulan Sorular

PHP sürümünü değiştirmek sitemi bozar mı?

Uygulama, tema ve eklentiler güncelse çoğu site sorunsuz geçer. Risk, yıllardır güncellenmemiş eklentilerde ve eski özel kodda toplanır. Test kopyasında deneme, tam yedek ve panelden tek tıkla geri alma imkânı sayesinde olası bir hata dakikalar içinde geri alınabilir; asıl risk, geçişi yapmayıp desteksiz sürümde kalmaktır.

Hangi PHP 8 sürümünü seçmeliyim?

Uygulamanızın desteklediği en güncel 8.x sürümünü seçin; daha yeni sürümler daha uzun süre güvenlik güncellemesi alır. CMS ya da eklenti yalnızca belirli bir sürümü destekliyorsa o sürümle başlayıp eklentiler güncellendikçe ilerleyin. Panelde listelenen sürümler LIONFIN sunucularında kurulu ve desteklenen sürümlerdir.

WordPress için PHP 8 güncellemesi gerekli mi?

Evet. Güncel WordPress sürümleri PHP 8 ile tam uyumludur ve birçok popüler eklenti artık PHP 7.4 desteğini bırakmıştır. Site Sağlığı ekranı eski PHP sürümü için uyarı verir. Geçmeden önce eklenti listesini gözden geçirmek ve test kopyasında denemek, WordPress sitelerinde de en güvenli yoldur.

Aynı hesapta farklı siteler farklı PHP sürümü kullanabilir mi?

Evet. cPanel MultiPHP Manager ve Plesk PHP Settings, sürümü alan adı bazında belirlemenize izin verir. Böylece güncellenmiş siteleri PHP 8’e taşırken eski bir siteyi geçici olarak önceki sürümde tutabilirsiniz; ancak bu durumu kalıcı çözüm değil, geçiş süresi olarak görün.

  • #php sürümü yükseltme
  • #php 8 uyumluluk
  • #php 7.4 destek sonu
  • #multiphp manager
  • #plesk php settings
  • #wordpress php 8
  • #php hata ayıklama
  • #opcache
X LinkedIn WhatsApp