Magento CE Yamalarının Uygulanması


15

Magento indirme sayfasına , yamalar bölümünün altında

Lütfen yamayı Magento kök dizininize yükleyin ve uygun SSH komutunu çalıştırın: Dosya uzantısı `.sh: sh patch_file_name.sh olan yama dosyaları için Örnek: sh PATCH_SUPEE-1868_CE_1.7.0.2_v1.sh

Magento sh, yama yolluklarını çalıştırma komutunun doğrudan çağrılmasını önerir . Dosya uzantısı bunu da .shdestekler.

Ancak, her bir yama runner dosyasının üst kısmına bakarsanız , shebang satırı işaret eder bash.

#!/bin/bash
# Patch apllying tool template
# v0.1.2
# (c) Copyright 2013. Magento Inc.
#

İçimdeki programcı kaynak dosyaya güvenmek istiyor, ancak süreç kazananı Magento web sitesinde yazılanlara itaat etmek istiyor, alaycı yama bash ve sh arasındaki farklılıklara karşı test edilip edilmediğini merak ediyor .


Düzeltme eki işlemi .diff dosyaları sıkıştırılmış kadar basit olmalıdır. REQUIRED_UTILS='sed patch'tüm .shsenaryolarda gördüm . Son sürümlerin yükseltme belgeleri stereo talimatları gibi okunur ve yükseltme o kadar acı verici olmamalıdır.
B00MER

2
Ben biraz körü körüne yama getiriyorum, chmod + x ve çalıştırın. (Peki ben ilk içeriğini kontrol) ama ben yerel olarak (Mac tabanlı dev) çalıştırın böylece şube git ve dağıtmadan önce bir test şubesine taahhüt.
Barry Carlyon

3
@ B00MER Bu çok zor. Ben şahsen katılıyorum, ama teknoloji meraklısı ama unix anlayışlı olmayan insanlar için yamaları elle uygulayan bir adım gibi görünüyor. Bir yama yükleyicisinin arkasındaki motivasyonları anlayabiliyorum.
Alan Storm

Sadece bunu tekrar düşünmek. Shebang lins örneğin #! / Bin / php olabilir ve sh, shebang satırını okumak ve script'i shebang'ed programına geçirmek için "yeterli" yürütür. Kılavuzun uygulanması konusunda, yama zaten Git Farklarını içerir, böylece kendinizi kolayca uygulayabilirsiniz. Ancak, Magento'dan yalnızca değiştirilmiş dosyaları içeren bir zip vermesini bir Yama boyunca (Temel düzenlemeler dışında iyi) sağlamasını istemek için bir argüman var mı?
Barry Carlyon

Bir şey daha. .Txt dışında bir dosya uzantısının kullanılması, yerel kullanıcıların dosya sistemi hakkında yüzen uzantısız dosyaların olmasını önlemek için muhtemelen daha az anlayışlı için daha mantıklı hale getirir. Ben bash ve sh zaten değiştirilebilir hissediyorum.
Barry Carlyon

Yanıtlar:


8

Aslında bash kullanmalısın. Açıkça belirttiğiniz yamanın 14 numaralı satırında şu kod vardır:

if (( $? != 0 )); then

$((Bir olan geçerli aritmetik ifade XCU sh, ama ((değildir.)

Bununla birlikte, birçok UNIX benzeri platformda /bin/shsadece bir sembolik bağlantıdır /bin/bash. Bu adla çağrıldığında shbash , POSIXly-unstrict davranışının bir kısmını devre dışı bırakır , ancak tümünü devre dışı bırakır . Bu yamalar sh olarak adlandırılan bash için iyi çalışır.


Bu durumda, tho komut dosyası sh altında yürütülmüyor, sh belirtilen shebang hattı programına atlıyor?
Barry Carlyon

Aslında çekirdeği yorumlamaktan çekirdek sorumludur. Eğer chmod +x script && ./scriptçekirdek, birinci veya ikinci argüman olarak komut dosyası ile komut satırında komutu yürütmeye çalışır. Koşullara bağlı olarak, bu işlem ağacında herhangi bir kabuğun yer aldığının garantisi yoktur. shBununla birlikte, bir komut dosyası ile argüman olarak yürütülürseniz , shebang satırı göz ardı edilir.
Ocak'ta kojiro

Bu, yama talimatlarını yanlış izlediğim anlamına geliyor. Dedikleri gibi sh script ama ben sadece ./script Nasıl eğlenceli
Barry Carlyon

-2

Gelecekte birine yardımcı olması durumunda, yama uygulamak için Phpstorm kullandım ve yama aracı harika. Herhangi bir sorun olmadan düzeltme eki uygulamak 30 saniyeden az sürdü ve dosyaların sahip olduğu farklılıkları da görebilir ve inceleyebilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.