Acil müdahale gerektiren bir sorununuz mu var?Acil müdahale mi?Acil yardım alın →
Blog

MageBooster ekibinden sürüm yükseltme, güvenlik, hız ve taşıma üzerine pratik Magento 2 rehberleri.

Magento 2.4.9 sürüm yükseltme rehberi: PHP 8.5, Symfony 7.4 ve neler bozulur?

Magento 2.4.9, PHP 8.5 ve Symfony 7.4 LTS getiriyor; Laminas MVC ile Zend_Cache'i ise devreden çıkarıyor. Neler değişiyor, neler bozuluyor ve yükseltme nasıl yapılır?
Magento 2 video dersi kapak görseli

Kısaca

12 Mayıs 2026’da yayımlanan ve 31 Mayıs 2029’a kadar desteklenen Magento 2.4.9, framework düzeyinde bir sürümdür: PHP 8.5, Symfony 7.4 LTS, Laminas MVC yerine yerel bir MVC katmanı ve Zend_Cache yerine Symfony Cache. Yükseltme sorunlarının çoğu bu katmanlara dokunan özel kod ve eklentilerden kaynaklanır; bu yüzden önce bunları denetleyin, ardından sunucu altyapısını yükseltin ve Composer yükseltmesini test ortamında (staging) çalıştırın.

Magento Open Source ve Adobe Commerce 2.4.9, en yeni sürüm hattıdır ve en uzun destek süresine sahiptir: Adobe, standart desteği 31 Mayıs 2029’a kadar listeliyor. 2.4.6 veya 2.4.7 kullanan mağazalar için en mantıklı hedef budur.

Aynı zamanda sıradan bir yamadan çok daha kapsamlı bir yükseltmedir. Uzun süredir kullanılan birkaç bağımlılık değiştirildi, minimum PHP sürümü yükseldi ve bazı altyapı bileşenleri değişti. Bu rehberde neyin değiştiğini, nelerin sık bozulduğunu ve mağazanıza uyarlayabileceğiniz adım adım bir yükseltme sürecini ele alıyoruz.

2.4.9’da neler değişti?

PHP 8.5; PHP 8.2 ve 8.3 desteği kaldırıldı

Adobe’un 2.4.9 sürüm notlarına göre PHP 8.5 tam olarak destekleniyor. PHP 8.4 yalnızca yükseltme amacıyla kullanılabiliyor ve canlı ortam için önerilmiyor. PHP 8.2 ve 8.3 artık desteklenmiyor. Sunucularınız bugün 8.2 veya 8.3 ile çalışıyorsa PHP yükseltmesi ayrı bir proje değil, bu projenin bir parçasıdır.

Symfony 7.4 LTS

Tüm Symfony bağımlılıkları Symfony 7.4 LTS’e geçiyor. Symfony 7, daha katı tip tanımları getirdi ve metot imzalarını değiştirdi. Bir Symfony bileşenini genişleten her özel sınıfın incelenmesi gerekir. En yaygın örnek CLI komutlarıdır: özel bin/magento komutları şu sınıftan türetilir: Symfony\Component\Console\Command\Command; bu nedenle configure() ve execute() metotlarının imzaları yeni üst sınıfla uyumlu olmalıdır.

// Symfony 7 expects an int return type on execute()
protected function execute(InputInterface $input, OutputInterface $output): int
{
    // ...
    return Command::SUCCESS;
}

Laminas MVC’nin yerini yerel bir MVC uygulaması aldı

Adobe, eski Laminas MVC katmanını Magento’nun kendi MVC uygulamasıyla değiştirdi. Mağaza kodlarının çoğu Laminas MVC’ye doğrudan dokunmaz; ancak bazı eski eklentiler ve özel modüller istek işleme, yönlendirme veya HTTP yanıtları için Laminas sınıflarını içe aktarır. Başlamadan önce kod tabanınızda bu içe aktarmaları arayın.

Zend_Cache’in yerini Symfony Cache aldı

Kullanımdan kaldırılan Zend_Cache bileşeni yerini Symfony Cache’e bırakıyor. Adobe, mevcut önbellek arka uçlarının desteklenmeye devam ettiğini ve entegrasyonlarda değişiklik gerekmediğini belirtiyor. Yine de özel önbellek arka uçlarının veya Zend_Cache sınıflarını doğrudan çağıran kodların test edilmesi gerekir.

Yükseltmeyi etkileyen diğer değişiklikler

  • WYSIWYG editör: TinyMCE 5 ve 6’nın desteği sona erdiği için TinyMCE’nin yerini HugeRTE aldı. Editörü özelleştiren eklentilerin kontrol edilmesi gerekir.
  • OAuth: üçüncü taraf OAuth kütüphanesinin yerini yerel PHP fonksiyonları aldı.
  • JWT framework: en son ana sürümüne güncellendi.
  • İki faktörlü kimlik doğrulama: yöneticilerin artık etkin olan her sağlayıcıyı değil, yalnızca bir sağlayıcıyı kurması yeterli.
  • JavaScript kütüphaneleri: jQuery UI, jQuery Validate, Less.js, Underscore.js, Chart.js ve diğerleri güncellendi; bu durum özel temaları etkileyebilir.

API üzerinden hesap oluşturmada CAPTCHA zorunlu

Mağaza ön yüzündeki Hesap Oluştur formu için CAPTCHA veya reCAPTCHA etkinse, 2.4.9 artık REST ve GraphQL üzerinden müşteri hesabı oluşturmada da aynı doğrulamayı zorunlu kılıyor. Ayrıca birkaç GraphQL mutation’ına reCAPTCHA doğrulaması eklendi; bunlardan biri: updateCustomer.

Bu, botların sık kullandığı bir kayıt yolunu kapatıyor. Ancak API üzerinden CAPTCHA token’ı göndermeden müşteri hesabı oluşturan headless ön yüzleri, mobil uygulamaları ve entegrasyonları da bozuyor. Bu akışları özellikle test edin.

Sistem gereksinimleri

Aşağıdaki tablo, bu yazının yazıldığı tarihteki Adobe 2.4.9 sürüm notlarını ve sistem gereksinimleri sayfasını yansıtır. Adobe bu sayfayı her yamada güncellediği için altyapı değişikliği talep etmeden önce mutlaka güncel sistem gereksinimleri sayfasını kontrol edin.

Bileşen2.4.9
PHP8.5 (8.4 yalnızca yükseltme amacıyla)
AramaOpenSearch 3.x (2.x geriye dönük uyumlu)
VeritabanıMySQL 8.4; MariaDB 11.8 ve 12.x
Önbellek / oturumlarValkey 9
Mesaj kuyruğuRabbitMQ 4.x; ActiveMQ Artemis 2
Varnish8
ComposerComposer 2, sistem gereksinimlerinde belirtilen sürümde

İki nokta öne çıkıyor. Adobe, MySQL 8.0’ın desteğinin 30 Nisan 2026’da sona erdiğini belirtiyor. Ayrıca 2.4.9 şirket içi (on-premises) tablosu, önbellek ve oturumlar için Redis yerine Valkey’i listeliyor; hâlâ Redis kullanıyorsanız bu geçişi planlayın.

Adım adım sürüm yükseltme süreci

1. Kodu ve eklentileri denetleyin

İşe envanter çıkararak başlayın; emeğin büyük kısmı bu aşamada harcanır.

# list installed third-party modules
bin/magento module:status --enabled | grep -v "^Magento_"

# find code that touches replaced components
grep -rn "Laminas\\\\Mvc\|Zend_Cache\|Symfony\\\\Component\\\\Console" app/code vendor/<your-vendors>

Her eklenti için sağlayıcının 2.4.9 ve PHP 8.5 ile uyumlu olarak işaretlenmiş bir sürüm yayımlayıp yayımlamadığını kontrol edin. Artık kullanmadığınız modülleri kaldırın. Kaldırılan her modül, test edilecek bir modül daha az demektir.

2. Yeni altyapıyı birebir yansıtan bir test ortamı hazırlayın

Test ortamını PHP 8.5, OpenSearch 3, MySQL 8.4 veya MariaDB 11.8/12.x ve Valkey üzerinde kurun. Canlı ortam verilerinin yakın tarihli bir kopyasını yükleyin. Kodu ve altyapıyı test ortamında birlikte yükseltmek gerçek sorunları erkenden ortaya çıkarır.

3. Yedek alın ve bakım modunu etkinleştirin

bin/magento maintenance:enable
mysqldump --single-transaction --routines --triggers dbname > pre-249.sql
tar -czf pre-249-code.tgz app composer.json composer.lock

4. Composer gereksinimlerini güncelleyin

Magento Open Source için:

composer require-commerce magento/product-community-edition 2.4.9 --no-update
composer update

Adobe Commerce için bunun yerine magento/product-enterprise-edition. Buradaki require-commerce komutu Adobe’un composer-root-update eklentisinden gelir ve kök bağımlılıkları sizin için ayarlar. İlk çalıştırmada çakışmalar bekleyin. Bunları eski kısıtlamaları zorlayarak değil, eklenti sürümlerini yükselterek çözün.

5. Yükseltmeyi çalıştırın ve yeniden derleyin

bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento setup:static-content:deploy -f
bin/magento indexer:reindex
bin/magento cache:flush
bin/magento maintenance:disable

Her şeyden önce derleme hatalarını düzeltin. Symfony 7.4 ile imza uyuşmazlıkları ve eksik Laminas sınıfları genellikle bu aşamada ortaya çıkar.

Composer adımından sonra sık görülen hatalar

  • Declaration must be compatible with Symfony\Component\…: özel bir sınıf, bir Symfony metodunu eski imzasıyla geçersiz kılıyor (override). Üst sınıfın artık tanımladığı parametre ve dönüş tiplerini ekleyin.
  • Class “Laminas\Mvc\…” not found: bir modül hâlâ Laminas MVC’ye bağımlı. Eklentiyi güncelleyin veya kodu Magento’nun kendi istek ve yanıt sınıflarını kullanacak şekilde yeniden düzenleyin.
  • PHP sürümünde Composer çakışmaları: bir eklentinin composer.json dosyası PHP sürümünü 8.5’in altıyla sınırlıyor. Eklentiyi fork etmeden önce sağlayıcının daha yeni bir sürüm yayımlayıp yayımlamadığını kontrol edin.
  • Yönetim panelindeki editör alanları boş görünüyor: bir modül, HugeRTE altında artık geçerli olmayan bir TinyMCE yapılandırmasını özelleştiriyor.

Her düzeltmeyi deponuzda açık bir commit mesajıyla kaydedin. Hedefiniz, canlı ortamda aynı adımların hiçbir elle müdahale gerekmeden sorunsuz uygulanması olmalı.

6. Bozulma olasılığı en yüksek alanları test edin

  • Her ödeme yöntemi ve kargo firmasıyla uçtan uca ödeme süreci.
  • Mağaza ön yüzünden, mobil uygulamadan ve varsa headless ön yüzden müşteri kaydı.
  • Özel CLI komutları ve cron görevleri.
  • Yönetim panelinde CMS içerik düzenleme (artık HugeRTE ile).
  • OAuth tabanlı olanlar dahil ERP, PIM ve pazaryeri entegrasyonları.
  • OpenSearch 3 üzerinde arama sonuçları ve katmanlı navigasyon.

7. En son güvenlik yamalarını uygulayın

Sıfırdan kurulan bir 2.4.9 da otomatik olarak güncel olmaz. Eylül 2026’da Adobe, APSB26-138 güncellemesini ve bundan ayrı olarak aktif şekilde istismar edilen CVE-2026-75650 (StyleSmuggler) açığı için APSB26-146 acil düzeltmesini yayımladı. Acil düzeltme Eylül münferit yamasına dahil değildir; bu yüzden canlıya almadan önce ikisini de uygulayın.

8. Canlıya geçişi planlayın

Dağıtımı test ortamında süre tutarak prova edin, bir geri dönüş noktası belirleyin ve yayını düşük trafikli bir zaman dilimine planlayın. İlk günlerde hata loglarını, dönüşüm oranını ve başarısız ödemeleri yakından izleyin.

Sıkça sorulan sorular

Magento 2.4.9 ne zamana kadar destekleniyor?

Adobe’un yayımlanan sürümler sayfası, 2.4.9 için standart desteği 31 Mayıs 2029’a kadar listeliyor. Sürüm 12 Mayıs 2026’da yayımlandı.

2.4.9'u PHP 8.3 ile çalıştırabilir miyim?

Hayır. Adobe’un sürüm notlarına göre PHP 8.2 ve 8.3 artık desteklenmiyor. PHP 8.5 tam olarak destekleniyor; 8.4 ise yalnızca sürüm yükseltme amacıyla kullanılabiliyor.

Eklentilerim 2.4.9'da çalışır mı?

Bunu ancak test ederek netleştirebilirsiniz. En riskli eklentiler şunlardır: Symfony sınıflarını genişletenler, Laminas MVC'yi doğrudan kullananlar, WYSIWYG editörünü özelleştirenler ve API üzerinden müşteri oluşturanlar.

Daha az değişiklik gerektirdiği için 2.4.8'e geçmek daha mı mantıklı?

2.4.8'in desteği 31 Mayıs 2028'de bitiyor; yani 2.4.9'dan bir yıl önce. Zaten büyük bir sürüm yükseltmesi yapıyorsanız doğrudan 2.4.9'a geçmek, kısa süre sonra ikinci bir framework geçişiyle uğraşmanızı genellikle önler.

2.4.9'a geçmeyi mi planlıyorsunuz?

MageBooster eklentilerinizi ve özel kodlarınızı analiz eder, sunucu altyapınızı günceller ve sürüm yükseltmeyi test ortamından (staging) canlıya kadar adım adım yönetir.

Sürüm yükseltme için teklif alın

Kaynaklar

Ücretsiz Site Analizi

Mağaza bilgilerinizi gönderin. Hız, güvenlik ve eklentileri inceleyip 3 iş günü içinde hemen uygulayabileceğiniz üç iyileştirme önerisiyle size dönelim.

Konuşalım

Teklif alın

Mağazanızdan bahsedin, bir iş günü içinde size dönelim. Sohbet etmeyi mi tercih edersiniz? WhatsApp'tan yazın