PrestaShop 1.6’dan 8’e: 1.7 üzerinden mi, sıfırdan mı
Resmi güncelleme aracıyla PrestaShop 1.6 ile 8 arasında doğrudan bir atlama yoktur: en azından geçici olarak 1.7 üzerinden geçmek ya da sıfır kurulumdan başlayıp yalnızca verileri taşımak gerekir. İşte iki yöntem, yol boyunca neyin bozulduğu ve aralarında nasıl seçim yaptığım.
PrestaShop 8’e neden kısayol olmadığı
Resmi autoupgrade eklentisi (eski adıyla 1-Click Upgrade), dosyaları ve veritabanını yedekler, ardından bir ana sürümden diğerine geçmek için gereken şema güncelleme betiklerini çalıştırır. Bu aracın 1.6’dan doğrudan 8’e atlayabilen bir sürümü yoktur: veritabanı yapısı her ana sürümde değişir, yeni tablolar ve yeniden adlandırılmış sütunlar eklenir; resmi betikler de tek seferde tek bir adım için yazılmıştır.
İki yöntem mümkündür. Her adımda tam yedekleme ve tema yeniden inşasıyla geçişleri zincirlemek: 1.6’dan 1.7’ye, ardından 1.7’den 8’e. Ya da sıfır bir PrestaShop 8 kurulumundan başlayıp yalnızca verileri (katalog, müşteriler, siparişler) taşımak: 1.6 teması ve eklentilerinin zaten yeniden yapılması gerekiyorsa genellikle daha hızlıdır.
PHP açısından, PrestaShop 8 en az 7.2.5 gerektirir; PHP 8.0 ve 8.1’i destekler, Eylül 2024’ten itibaren de 8.2’yi. 1.6 ise en fazla PHP 7.1’e kadar çalışır: PHP sürüm atlaması, ayrı bir seçenek değil, geçişin kendisinin bir parçasıdır.
1.6’dan 8’e geçişte tipik olarak neler bozulur
- Hâlâ displayPayment (1.6) hook’unu kullanan bir ödeme eklentisi, yalnızca paymentOptions’ın çağrıldığı 8’de ödeme adımında artık hiç görünmez.
- Süslü parantezli eski dizi erişim söz dizimini kullanan eklentiler (örneğin $array{0}), PHP 8’de kaldırıldığı için ölümcül hatalar verir.
- Yalnızca Default ve Smarty üzerine kurulu 1.6 teması, 8’in hibrit Symfony/Twig mimarisinde doğrudan bir karşılığa sahip değildir: kopyalanması değil, yeniden inşa edilmesi gerekir.
- Yalnızca 1.7.8’e kadar uyumluluk bildiren bir eklenti (config.xml, $ps_versions_compliancy), PrestaShop 8’e kurulumda engellenir.
Yöntemi nasıl seçiyor ve geçişi nasıl yürütüyorum
-
Mevcut ekosistemin denetimi
Eklentileri, sürümlerini ve 8 ile bildirilen uyumluluğunu listeliyor, temanın durumunu da değerlendiriyorum.
-
Yöntemin seçilmesi
Tema ve eklentilerin geçme ihtimali yüksekse zincirleme (1.6 → 1.7 → 8); yeniden inşa zaten kaçınılmazsa sıfır bir 8 kurulumu.
-
Her adımdan önce tam yedekleme
Dosyalar, tam veritabanı dökümü ve kritik eklentilerin yapılandırması, autoupgrade’in kendi yedek klasörünün dışında yedeklenir.
-
Test ortamında geçiş veya veri aktarımı
Asla üretimde değil. Bir sonrakine geçmeden önce her adımı doğruluyorum.
-
Temanın yeniden inşası ve uyumsuz eklentilerin değiştirilmesi
Tema Classic üzerine yeniden inşa edilir; geçiş yapamayan her eklenti için çalışan bir karşılık arıyorum ya da yeniden yazıyorum.
-
Kontrol, ardından üretime geçiş
Test mağazası onaylandıktan sonra, geçişi düşük trafikli bir zaman dilimine planlıyorum.
Neyi yedekliyorum, hiçbir şeyin eksik olmadığını nasıl kontrol ediyorum
İlk adımdan önce, tüm dosya ağacını, tam bir veritabanı dökümünü, eklentilerin sürümleriyle kesin listesini ve ödeme ile taşıyıcı eklentisi yapılandırmasını yedekliyorum. Bu ilk yedek, autoupgrade’in her ara adımda oluşturduğu yedeklerden bağımsız tutulur; çünkü bunlar üzerine yazılabilir.
Son geçişten sonra, sipariş, müşteri ve katalog ürünü sayısının önceki durumla eşleştiğini, ana URL’lerin doğru durum koduyla yanıt verdiğini, yönlendirmelerin çalıştığını kontrol ediyor ve paymentOptions hook’uyla çalıştığını doğrulamak için eksiksiz bir test siparişi veriyorum.
<compatibility>
<min>1.7</min>
<max>8.99.99</max>
</compatibility>
Bu geçişi hazırlamak veya tamamlamak için
-
PHP 8’e geçiş
Aynı geçişte PHP sürümü atladığında nelerin değiştiği.
-
Uyumsuz eklentiler
Değiştirilecek eklentileri nasıl tespit ettiğim ve neyle.
-
Geçiş öncesi kontrol listesi
Bir PrestaShop geçişi başlatmadan önce kontrol ettiğim her şey.
-
Satışı durdurmadan geçiş yapmak
Devam eden siparişleri engellemeden üretime geçiş yöntemi.
-
Hâlâ 1.5’te olan mağaza
Bir basamak daha eskide makul bir zincirleme geçiş kalmaz: 8 üzerinde yeniden kurulum ve veri aktarımı.
-
Geçiş mi, yeniden yapım mı?
Geçiş neredeyse her şeye dokunuyorsa, onu bir yenilemeyle dürüstçe karşılaştırın.
- PHP 5.2 – 7.1 PrestaShop 1.6
- En az PHP 7.2.5, 8.2’ye kadar PrestaShop 8
devdocs.prestashop-project.org
İhtiyacınızı bir dakikada anlatın
Size bir anket daha değil, doğrudan bir tahmin sunabilmem için birkaç hedefli soru.