GEÇİŞ REHBERİ / KARAR, UYGULAMA, KONTROL
PHP 7’den PHP 8’e Geçiş: Adımlar ve Kontrol Listesi
PHP 7 uygulamasını desteklenen PHP 8 sürümüne taşıma adımları: paket uyumu, kod davranışı, veri kontrolleri, yayın ve geri dönüş.
- Yayın
- Güncelleme
Kısa cevap
PHP 7’den PHP 8’e geçiş, hedef sürümün paketlerle uyumunu ve kritik iş akışlarının aynı sonuçları üretmesini doğrulamayı gerektirir. Bu rehber PHP 8.5’i değerlendirme hedefi alır; bağımlılık incelemesinden veri kontrolü ve yayın provasına kadar adımları sıralar.
PHP geçişi hangi iş ihtiyacını karşılar?
Bu rehber; özel PHP uygulaması, yönetim paneli, sipariş sistemi veya eski bir çatıyı çalıştıran ekipler içindir. Eklentili bir hazır ürün kullanıyorsanız ürünün kendi geçiş koşulları da kapsamınıza girer. Çalışan iş kurallarını korumak, yeni bir çatı seçmekten önce gelir.
Geçişin kabul koşullarını, günlük işte çözmek istediğiniz soruna göre seçin. Aşağıdaki tablo kapsam planlamak içindir.
| Bugünkü sorun | Geçişte yapılacak iş | Doğrulanacak iş sonucu |
|---|---|---|
| Güncelleme, eski bir pakette takılıyor | Bağımlılık ve sürüm kısıtlarını çözmek | Kritik akışın desteklenen ortamda çalışması |
| Yayın yalnız tek kişinin bilgisayarından yapılabiliyor | Kurulum ve yayın adımlarını kaydetmek | Başka bir yetkili kişinin aynı sürümü kurabilmesi |
| Sipariş tutarında veya raporda fark oluşuyor | Temsili kayıtlarla davranış testleri yazmak | Kabul edilen toplamların ve durum geçişlerinin korunması |
Bakım yükünü karşılaştırmak için maliyet ve süreklilik hedeflerinin başlangıç kaydını alın.
Hedef sürüm ve geçiş ortamı nasıl hazırlanır?
PHP 8 ailesinin her sürümü destekleniyor kabul edilmemelidir. 14 Ekim 2026 kontrolünde PHP 8.5 için aktif destek sonu 31 Aralık 2027, güvenlik desteği sonu 31 Aralık 2029 olarak listelenir. PHP 8.4 de ayrı bir destekli seçenek olabilir; seçiminizi paket ve barındırma gereksinimleriyle birlikte yapın. Tarihleri yayın kararında yeniden kontrol edin. PHP destek tablosu
İlk deneme için kaynak kodu, kilit dosyası, PHP eklenti listesi, web/komut satırı ayarları, görev zamanlayıcısı ve temsili test verisi gerekir. Üretimden bağımsız bir ortam ve denenmiş yedekten geri yükleme yolu hazırlayın. Hangi işlemlerin kabul edileceğini uygulama sahibiyle yazın: giriş, sipariş, iade, rapor, dosya yükleme veya uygulamanıza özgü başka akışlar.
Mevcut PHP yapısı ihtiyacı karşılıyorsa yerinde yükseltme ile başlayın. Arayüz ve iş kuralları birbirine çok bağlıysa belirli akışları ayrı API’ye taşımak bir alternatif olabilir; bu, geçici çift işletim yükü getirir. Seçenekler PHP merkezinde karşılaştırılır.
PHP 8 geçişi adım adım nasıl yapılır?
- Başlangıç durumunu sabitleyin. Çalışan kod sürümünü, bağımlılık kilidini ve ortam ayarlarını kaydedin. Hata kayıtlarıyla birlikte temsili işlem çıktısını saklayın. Çıktı: eski davranışın tekrar kontrol edilebildiği bir referans ortamı.
- Bağımlılık engellerini bulun. Composer kısıtları, PHP eklentileri ve özel paketleri kontrol edin.
composer validate,composer why-not php 8.5ve hedef ortamdacomposer check-platform-reqsyardımcı kontrollerdir; uygulama kabul testlerinin yerine geçmez. Çıktı: güncellenecek, değiştirilecek veya geçişi engelleyen paket listesi. Composer komutları - Geçilen sürümlerin değişikliklerini inceleyin. PHP 7.4→8.0 davranış kırılmalarını ve seçilen hedefe kadar ara sürüm rehberlerini okuyun. Test ortamında aşamalı inceleme, destek dışı ara sürümleri üretime yayınlamanızı gerektirmez. PHP 8.5 rehberi önceki sürümlerin rehberlerine de bağlanır. Çıktı: kod alanlarına atanmış uyum işi listesi. PHP 8.5 geçiş rehberi
- Önce davranışı koruyun. Dönüşümle ilgisiz özellikleri aynı değişikliğe eklemeyin. Özellikle esnek karşılaştırma, hata yakalama ve kaldırılmış işlev kullanımlarını kontrol edin. PHP 8.0’da sayısal olmayan metinlerle sayı karşılaştırmalarının davranışı değişmiştir; bunu fiyat, durum ve kimlik kontrollerinizde araştırın. Çıktı: beklenen sonuçları sabitleyen testler. PHP 8.0 uyumsuzlukları
- Veri ve entegrasyonları birlikte deneyin. Aynı temsili kayıtlarla ödeme cevabı, dışa aktarım, karakter kodlaması, saat dilimi ve dosya işlemlerini karşılaştırın. Dış servise giden denemeleri test uçlarında tutun. Çıktı: her kritik akış için karşılaştırma ve sorumlu kişinin kabul kaydı.
- Yayın ve geri dönüşü prova edin. Oturum deposu, önbellek, kuyruk ve zamanlanmış işlerin sahipliğini belirleyin. Eski ve yeni sürüm aynı veritabanını kullanacaksa yazma ve şema uyumunu doğrulayın. Geri dönüşün yalnız kodu mu, veriyi de mi kapsadığını açıklaştırın.
- Sınırlı geçişten sonra gözlemleyin. Uygun kullanıcı veya iş akışı grubunda başlayın; hata, işlem doğruluğu ve yanıt süresini başlangıç koşullarıyla karşılaştırın. Kabul eşiği aşılırsa sorumlu kişi geri dönüş kararını uygulasın. Ardından bakım ve güncelleme sorumluluğunu devredin.
Yayın öncesi kontrol listesi
Geçiş hatalarında önce ne kontrol edilmeli?
| Belirti | İlk inceleme | Kaçınılacak kestirme |
|---|---|---|
| Geliştirmede çalışıyor, sunucuda açılmıyor | PHP sürümü, eklenti ve yapılandırma farkları | Platform gereksinimlerini yok saymak |
| Belirli kayıtta sonuç değişiyor | Tür, karşılaştırma ve boş değer davranışı | Her şeyi metne çevirerek sorunu gizlemek |
| Yayın sonrası kullanıcı çıkış yapmış görünüyor | Oturum deposu, çerez ve yönlendirme | Tüm oturumları gerekçesiz yeniden oluşturmak |
| Bazı işlemler iki kez oluşuyor | Zamanlayıcı ve kuyruk tüketicisi sahipliği | Aynı işi tekrar tekrar çalıştırmak |
İlk tablo taraması tüm uyumsuzlukları kapsamaz. Hazır ürün, çatı ve eklenti üreticilerinin koşulları ayrıca değerlendirilmelidir. Bir güvenlik taramasının temiz çıkması da uygulamanın bütünü için güvence değildir.
Ne zaman yardım almalısınız?
Kaynak kodu eksikse, üretim bağımlılığı yeniden kurulamıyorsa, ödeme/stok verisinde fark varsa veya geri dönüşün veri etkisi bilinmiyorsa önce kapsamı netleştirin. Legacy Sağlık Raporu için sistemin türü, kritik işlemler ve mevcut hatalar yeterli bir başlangıçtır; ilk mesajda parola ya da müşteri verisi paylaşmayın.
İlk denemeden hangi çıktılar alınmalı?
Destekli hedefi seçin, mevcut davranışı kaydedin, bağımlılık ve kod uyumunu ayrı doğrulayın, ardından veriyle birlikte yayın provası yapın. Modernizasyonun katkısı, sürüm etiketinde değil; sürdürülebilir güncelleme yolu ve kabul edilmiş iş akışlarında görünmelidir. Yatırımı değerlendirmek için hesaplayıcıya kendi maliyetlerinizi girin; bu rehber bir süre veya bütçe teklifi değildir.
DOĞRULAMA İZİ
Kaynaklar
- PHP: Supported Versions ↗
The PHP Group · 2026-10-14 (erişim; yaşayan belge)
- PHP 8.0: Backward Incompatible Changes ↗
The PHP Group · 2026-10-14 (erişim; yaşayan belge)
- Migrating from PHP 8.4.x to PHP 8.5.x ↗
The PHP Group · 2026-10-14 (erişim; yaşayan belge)
- Composer command-line interface ↗
Composer · 2026-10-14 (erişim; yaşayan belge)
KURUCU
Mert Can Balci
- Java / Spring Boot
- Oracle PL/SQL / PostgreSQL
- JavaScript / React / Next.js
Mert Can Balci, havacılık yazılımları ve şirket içi uygulamalar üzerinde çalışan bir full-stack geliştirici. Java, Spring Boot ve Oracle PL/SQL ile servisler, veri akışları ve kullanıcı arayüzleri geliştiriyor. İstanbul Teknik Üniversitesi ve Binghamton Üniversitesi çift diploma programı mezunu. Modernizasyon çalışmalarında iş kurallarını korumaya, veri tutarlılığına ve günlük kullanımı iyileştirmeye odaklanıyor.
Kişisel web sitesi ↗GitHub ↗LinkedIn ↗
Yaklaşımımızı okuyun →