Projeler ve ajans desteği için müsait · Hızlı yanıt, işi yapan kişiden

Bir güncelleme eklentiyi bozduğunda ya da değişikliklerinizi sildiğinde

Eklenti çalışıyordu, önerilen güncellemeyi kabul ettiniz ve o zamandan beri çalışmıyor — ya da çalışıyor ama sizin için yapılan uyarlamalar kayboldu. Bu şanssızlık değildir: bir ana sürüm değişikliği eklentinin yapılandırmasını, tablolarını ve dosyalarını yeniden yazar; bu geçiş, ömrünün en kırılgan anıdır.

Sorunumu anlatayım Mesaj gönderin

Bir eklenti güncellemesi gerçekte ne yapar

Bir eklentiyi güncellemek yalnızca dosyaları değiştirmek değildir. PrestaShop'ta da WordPress'te de iyi yazılmış bir eklenti bu sırada bir yükseltme yordamı çalıştırır: veritabanına sütun ekleyebilir, yapılandırma anahtarlarını yeniden adlandırabilir, eski ayarları yeni bir biçime taşıyabilir ya da başka görüntüleme noktalarına bağlanabilir.

Üç şey ters gidebilir. Yordam yarı yolda kesilir ve veritabanı, eklentinin okuyamadığı bir ara duruma düşer. Eski ayarlar aktarılmaz ve eklenti varsayılan değerleriyle yeniden başlar; bu da hiçbir şey yapmıyormuş izlenimi verir. Ya da yeni sürüm sizinkinden yüksek bir PHP veya platform sürümü ister ve yüklenirken sessizce başarısız olur.

En kafa karıştırıcı durum, eklentinin çalışıyor görünmesine karşın ayarlarının yalnızca bir bölümünün sağ kalmasıdır. Yalnızca kaybolmuş bir yapılandırmanın olduğu yerde hata ararsınız.

Ne yapmalı ve hangi sırayla

  1. Güncellemeyi art arda yeniden başlatmayın

    Yarı yolda başarısız olmuş bir yükseltme yordamını yeniden çalıştırmak, zaten yapılmış işlemleri tekrarladığı için veritabanının durumunu ağırlaştırabilir. Bir ara durum onarılır, üç kez tekrarlanmış bir durum çok daha zor onarılır.

  2. Sunucunun hata günlüğünü okuyun

    Karşılanmayan bir sürüm koşulu, eksik bir yöntem ya da var olmayan bir sütun orada adıyla görünür. Uyumsuzluğu kaybolmuş ayardan ayıran budur.

  3. Yapılandırmayı önce ve sonra karşılaştırın

    Önceki bir yedeğiniz varsa eklentinin yapılandırma değerleri oradadır ve karşılaştırılabilir. Tam açıklama çoğu zaman oradadır.

  4. Mümkünse önceki sürüme dönün

    Sürüm düşürmek yalnızca veritabanı yükseltmeyle değişmediyse güvenlidir. Aksi hâlde tam bir site yedeğini geri yüklemek, güvenilir tek geri dönüş yoludur.

Ödeme ve kargo eklentilerinin özel durumu

Bunlar ayrı bir ilgiyi hak eder, çünkü arızaları ana sayfada değil sipariş akışının son adımında, yani satışı yitirdiğiniz yerde görünür. Yeni bir ana sürüm, eklentinin sağlayıcıdan gelen bildirimleri alma biçimini sıkça değiştirir ve bu bildirimler mağazanızda değil, sağlayıcıda kayıtlı bir adrese ulaşır. Güncelleme bu adresi değiştiriyorsa iki tarafta da güncellenmesi gerekir.

Bir ödeme eklentisinin her güncellemesinden sonra üretim koşullarında baştan sona gerçek bir sipariş verir ve siparişin doğru durumla oluştuğunu denetlerim. Bir şeyi kanıtlayan tek deneme budur.

Öteki sonuç: değişikliklerinizi silen güncelleme

Ters belirti de vardır ve çoğu zaman öncekiyle karıştırılır: eklenti bozulmamıştır, yalnızca eski hâline dönmüştür. Güncelleme, eklentinin dosyalarını yeni sürümdekilerle değiştirir. Karşılaştırmaz, birleştirmez, üzerine yazar. Eklenti klasörünün içine yazılmış her şey uyarısız ve izsiz kaybolur. İmzası tanıdıktır: yılda iki kez, her zaman bir bakım işleminden sonra kaybolan ve aradaki süre uzun olduğu için kimsenin güncellemeyle ilişkilendirmediği özel bir işlev.

İkinci etkisi daha sinsidir: değişiklik ayakta kaldığı sürece güncellemeleri fiilen engeller. Kimse onu yeniden yitirmek istemediği için eklenti eski bir sürümde kalır, uyumsuzlukları biriktirir ve güncellemenin kaçınılmaz olduğu gün, yukarıda anlatılan arızanın tam olarak daha kötüsünü üretir.

Bir eklenti hiçbir genişletme noktası bildirmiyor ve çıktısını geçersiz kılınabilir bir şablondan geçirmeden kuruyorsa zarif bir çözüm yoktur; tersini düşündürmektense bunu söylemeyi yeğlerim. Geriye tercih sırasıyla üç seçenek kalır: eklentinin yayıncısından bir genişletme noktası eklemesini istemek, bedelsizdir ve bazen kabul edilir; eklentiyi başka bir adla çoğaltıp kendi eklentiniz olarak sahiplenmek, güncellemelerinden vazgeçtiğinizi ve bakımcısı hâline geldiğinizi bilerek; ya da değişikliği belgelenmiş bir yama olarak ayrı tutup her güncellemeden sonra yeniden uygulamak. Yapmadığım şey: bir eklentiyi değiştirip hiçbir şey söylememek. Altı ay sonra birinin güncelleyeceği bir kodun içindeki belgelenmemiş bir değişiklik, sonraki kişi için bir tuzaktır; o kişi ben olduğumda bile.

Bir eklentiyi değiştirmeden uyarlamanın dört yolu

İlgili sayfalar

İhtiyacınızı bir dakikada anlatın

Size bir anket daha değil, doğrudan bir tahmin sunabilmem için birkaç hedefli soru.

attente
plateforme
historique (facultatif)
frequence-souhaitee (facultatif)
Size dönebilmem için en az bir e-posta veya telefon numarası belirtin.

Size dönebilmem için en az bir e-posta veya telefon numarası belirtin.

Sıkça sorulan sorular

Eklenti güncellemelerini reddetmeli miyim?
Hayır. Güncellenmeyen bir eklenti sonunda platformla uyumsuz hâle gelir ve bilinen açıklar taşıyabilir. Kaçınılması gereken, yedeksiz ve önceden denenmeden doğrudan üretime uygulanan güncellemedir.
Eklenti güncellemeden beri veritabanı hatası veriyor
Bu, yarıda kesilmiş bir yükseltme yordamının imzasıdır: beklenen bir sütun ya da tablo yoktur. Çözüm, eksik göçü tamamlamaktır; eklentiyi yeniden kurmak değil, çünkü bu mevcut verileri yitirir.
Ayarlarım kayboldu, geri alınabilir mi?
Eski anahtarlarıyla hâlâ veritabanındaysa ya da önceki bir yedekte duruyorsa çoğu zaman evet. Bu, eklentinin kendisini düzeltmekten ayrı bir veri kurtarma işidir.
Kurmadan önce yeni sürümün uyumlu olduğunu nasıl anlarım?
Eklentinin tanıtımı gerektirdiği platform ve PHP sürümlerini belirtir; eklentiyle birlikte gelen tanım dosyası da bunları içerir. İkisi çelişirse geçerli olan, teslim edilen dosyadır.
Değişikliklerimin silindiğini nasıl anlarım?
Eklentinin dosyalarını yayımlanmış sürümle karşılaştırarak: farklar hemen göze çarpar. Sürüm denetimi olmayan bir sitede tek yol budur ve değişiklikleri eklentinin dışına koymamın nedeni de budur.
Temadaki şablon geçersiz kılması gerçekten sağ kalır mı?
Eklenti güncellemelerinden sağ çıkar, evet. Ancak eklenti veri yapısını değiştirirse geçersiz kılınmış şablon doğru şeyi göstermeyi bırakabilir: eklentinin her ana sürüm değişikliğinden sonra yeniden denetlenmesi gerekir.