30 Ekim 2026 - 12:39
PHP Sürümünü Yükseltmeden Önce Neleri Kontrol Etmeliyim? Görseli
PHP

PHP Sürümünü Yükseltmeden Önce Neleri Kontrol Etmeliyim?

0 Yorumlar

PHP sürümünü değiştirmek panelde birkaç saniye sürüyor. Sorun genellikle sonrasında ortaya çıkıyor: ana sayfa açılıyor ama giriş çalışmıyor, dosya yükleme bozuluyor ya da geceki görev eski PHP ile devam ediyor. Bu yüzden “site açıldı” kontrolünü geçişin tamamı saymayalım.

Önce bir hedef belirle. Uygulama hangi sürümü destekliyor, kullandığı paketler ve eklentiler o ortamda mevcut mu? Henüz karar vermediysen PHP sürüm seçimi rehberi ile başla. Buradaki “çalışma ortamı”, yalnız PHP sürümü değil; uygulamanın ihtiyaç duyduğu eklentiler ve ayarlarla birlikte çalışan kurulum demek.

Mevcut ortamın küçük bir kaydını al

Aşağıdaki komutlar CLI ortamını gösterir. Bunları uygulamanın çalıştığı hesapla, proje bağlamında incele:

BASH
php -v
php --ini
php -m
command -v php

CLI, komut satırından çalışan PHP'ye verilen ad. Web tarafındaki PHP sürümünü ayrıca kaydet; aynı makinede olmaları aynı PHP dosyasını kullandıkları anlamına gelmez. php.ini ana ayar dosyasıdır. Bu dosya, ek ayar dosyaları, gerekli eklentiler, yükleme sınırları, saat dilimi ve kullanıcı oturumunu saklayan session ayarları geçişte karşılaştırılacak temel parçalardır.

Her ayarı yeni ortama topluca kopyalamak yerine uygulamanın gerçekten ihtiyaç duyduklarını ayır. Eski bir yapılandırmadaki kaldırılmış seçenekleri yeni sürüme taşımak da sorun çıkarabilir.

Composer yalnız bir sürüm satırından ibaret değil

BASH
composer validate --strict
composer prohibits php 8.5.12
composer check-platform-reqs

8.5.12 burada hedef sürüm örneği. prohibits, o hedefe engel olan bağımlılık kısıtlarını araştırmak içindir; uygulamanın hatasız çalışacağını kanıtlamaz. check-platform-reqs ise komutu çalıştırdığın gerçek PHP ve eklentilerle karşılaştırma yapar. Bu yüzden testi eski CLI'da çalıştırıp yeni web ortamını doğruladığını düşünme. Ayrıntılar Composer komut belgesinde bulunuyor.

config.platform.php bağımlılık çözümlemesinde bir hedef taklit edebilir; sunucuda o PHP'nin kurulu olduğunu göstermez. Geçiş sırasında uygulamayı da bilinçsizce değiştirmemek için mevcut composer.lock dosyasını koru. İlgisiz bir composer update ile hem PHP'yi hem bütün bağımlılıkları aynı anda değiştirirsen arızanın kaynağını ayırmak zorlaşır.

Birden fazla dal atlıyorsan geçiş notlarını sırayla oku

8.2'den 8.5'e geçişi yalnız “8.5 yenilikleri” ile değerlendirme. Aradaki her sürümün uyumsuz değişikliklerini, kullanımdan kaldırılan özelliklerini ve kaldırılan işlevlerini incele. 8.4 ve 8.5 geçiş kılavuzları bu okumanın parçalarıdır.

Tema veya eski bir kütüphaneden gelen uyarıları yalnız görünmez yapmak uyumluluğu düzeltmez. Deneme ortamında hata kayıtlarını açık tut, beklenmedik uyarı ve istisnaları ilgili bileşenle eşleştir. Kullanıcı ekranına hata dökmekle sunucu tarafında kayıt tutmayı birbirine karıştırma.

Test listesini sitenin işine göre yaz

  • Giriş, çıkış, oturumun sonraki istekte devam etmesi ve parola sıfırlama.
  • Form doğrulama, dosya yükleme, görsel işleme ve indirme.
  • Veritabanına yazma ve yazılan veriyi yeniden okuma.
  • Harici API, e-posta, kuyruk işçisi ve cron görevleri.
  • Satış yapan uygulamada ödeme sağlayıcısının test ortamıyla tamamlanan işlem.

Deneme kopyasının gerçek müşteriye e-posta göndermesini veya canlı ödeme başlatmasını testten önce engelle. Bu, işlemi güvenli yapmak için gereken somut hazırlık. Aynı uygulama dosyaları, aynı kilitli bağımlılıklar ve temsil edici verilerle test et; boş bir kurulumun açılması yeterli değil.

Geri dönüş sadece panelde eski sürümü seçmek olmayabilir

Yedeklerin gerçekten geri yüklenebilir olduğunu kontrol et. Geçişe veritabanı şema değişikliği de ekliyorsan eski kod o şemayla çalışmayabilir. Bu nedenle PHP değişimini mümkün olduğunca ayrı tut; dosya, veri ve sürüm geri dönüşünün sınırlarını önceden belirle. Eski sürümde güvenlik açığı varsa geri dönmek de güvenli bir kalıcı çözüm sayılmaz.

Canlı geçişte web isteğini, CLI'yı ve görevleri hedef sürümle doğrula. Uygun servislerin yeniden yüklenmesi gerekiyorsa sağlayıcının desteklediği yolu kullan. Sonra test listesindeki önemli işleri yeniden yap ve hata kayıtlarını karşılaştır. Panelde doğru numara görünüyor ama görevler farklı davranıyorsa web, terminal ve cron ayrımına geç; geçişi henüz kapatma.

Benzer Yazılar

Yorumlar (0)

Henüz yorum yok. İlk yorum yapan sen ol!

Yorum Yap