ul. Powstańców Śląskich 7a
53-332 Wrocław
NIP 8992786490
KRS 0000608120
REGON 363987723
Global4Net Sp. z o. o.
+48 71 769 11 32
© 2009 – Global4Net. All Rights Reserved.
Magento to niepodważalnie jedna z najbardziej zaawansowanych i niezwykle chętnie wybieranych platform e-commerce. Jednak jak w każdym narzędziu IT także na tej platformie pojawiają się czasem trudności w jej technicznej obsłudze oraz kwestie przysparzające wątpliwości programistów. Poniżej prezentujemy najważniejsze, budzące wątpliwość elementy oprogramowania Magento 2 wraz z propozycjami ich rozwiązania.
Pierwszym elementem w Magento 2, który nie zawsze działa, tak jak byśmy tego chcieli, jest Cron. Mogą pojawiać się różnorodne problemy, które uniemożliwiają prawidłowe działanie tej usługi. Jakie?
Jeśli podczas instalacji Magento 2 napotkasz następujące sytuacje, może to wskazywać na problemy z Cronem:
1. Próbujesz uruchomić aktualizację lub inne uaktualnienie funkcji, jednak pozostaje ono stale w stanie oczekiwania.
2. Pojawia się komunikat o błędzie dotyczący ustawienia PHP $ HTTP_RAW_POST_DATA, a co więcej, prawidłowe ustawienie nie pomaga.
3. Sprawdzenie gotowości Crona prowadzi do awarii.
4. Test gotowości PHP nie wyświetla PHP.
5. Twój administrator Magento zgłasza Ci nieprawidłowe indeksatory.
Przede wszystkim musisz dowiedzieć się, czy Cron w ogóle działa i czy jest poprawnie skonfigurowany. W tym celu wykonaj następujące kroki:
1. Zaloguj się na serwerze Magento jako właściciel systemu plików.
2. Poszukaj następującego pliku:
ls -al <magento_root>/var/.setup_cronjob_status
Jeśli taki plik istnieje, oznacza to, że w przeszłości był co najmniej jeden pomyślnie uruchomiony Cron. Jeśli plik nie istnieje, Cron nie działa lub Magento nie jest zainstalowane.
Aby uzyskać więcej informacji na temat Crona, zaloguj się jako użytkownik z uprawnieniami roota i użyj następującego polecenia:
crontab -u <Magento file system owner name> -l
Jeśli w Twoim przypadku nie ma Crontab dla użytkownika, zobaczysz następujący komunikat:
no crontab for magento_user
Jeśli Cron istnieje, możesz odkryć następujące fakty niezbędne do dalszego rozwiązywania problemów z Cronem Magento 2:
1. Twój plik binarny PHP.
2. Twoje skrypty Cron Magento i ścieżki do nich.
3. Lokalizację Twoich dzienników Cron.
W czym pomogą Ci te informacje? Z pewnością w rozwiązaniu pojawiających się problemów.
Co dzieje się, jeśli rozwiązanie Crontab nie jest konfigurowane jako pierwsze? Warto przestrzegać oficjalnych instrukcji dotyczących konfiguracji Magento 2 Cron. Jeśli wszystko jest zrobione poprawnie, a Twoja instalacja spełnia wymagania platformy, nie napotkasz żadnych trudności.
Co zrobić, jeśli Twój Magento 2 Cron działa z nieprawidłowego pliku binarnego PHP? Zacznijmy od wytłumaczenia, czym jest „niepoprawny” plik? To plik binarny PHP różniący się od tego związanego z wtyczką serwera WWW. Zwykle prowadzi to do różnych błędów ustawień PHP. W takiej sytuacji musisz ustawić te same ustawienia PHP zarówno dla wiersza poleceń PHP, jak i dla wtyczki serwera WWW PHP. Odpowiedni przewodnik dotyczący konfiguracji PHP znajdziesz na stronie usługodawcy.
Rozwiązania dla Crona działającego z błędami są bardzo różne. Każde polecenie należy uruchamiać ręcznie, aby wyświetlić komunikaty o błędach, które mogą być pomocne w diagnozowaniu problemu. Warto więc za każdym razem poszukać odpowiednich informacji – przewodnika na każdy osobny temat. Dzięki temu w szybki sposób zidentyfikujesz problem i znajdziesz jego rozwiązanie.
Pamiętaj też, że konieczne jest uruchomienie Crona co najmniej dwa razy na zadanie. Dlaczego? Po pierwsze, ustawiasz go w kolejce i po drugie, wykonujesz to.
Sprzeczne/skonfliktowane zależności komponentów to kolejny częsty problem Magento 2. Jeśli wyświetli Ci się komunikat o błędzie „Znaleźliśmy sprzeczne zależności komponentów”, to znaczy, że właśnie z tym, co prezentujemy poniżej, masz do czynienia.
Odpowiedni komunikat o błędzie zwykle wygląda następująco:
1. Znaleźliśmy sprzeczne zależności komponentów.
2. Próbujesz zaktualizować pakiet(y) magento/module-sample-data do wersji 1.0.0-beta
3. Wykryliśmy konflikty z następującymi pakietami:
magento / sample-data wersja 0.74.0-beta15. Spróbuj zaktualizować go do jednej z następujących wersji pakietu: 0.74.0-beta16, 0.74.0-beta14, 0.74.0-beta13, 0.74.0-beta12, 0.74.0-beta11, 0.74.0-beta10, 0.74 .0-beta9, 0.74.0-beta8 lub do 0.74.0-beta7.
Komunikat ten może się nieco różnić w zależności od różnych warunków. Jeśli chodzi o przyczynę problemu, komunikat o błędzie pojawia się tylko wtedy, gdy Composer nie wie, które komponenty zainstalować lub zaktualizować.
Ponieważ istnieją dwa scenariusze, które mogą powodować konflikt, określ ten, który pasuje do Twojej sytuacji najbardziej i wybierz poprawne rozwiązywanie problemów z Magento 2.
Możesz zdecydować się na:
Użytkownicy, którzy aktualizują Magento Commerce Cloud, rozwiązują konfliktowe zależności komponentów w Magento 2, sprawdzając klucze używane do procedury. Powinny zostać wygenerowane z właściwego konta e-mail, aby pomyślnie przeprowadzić aktualizację. Powinieneś także sprawdzić uprawnienia dotyczące ich zgodności z wymaganiami aktualizacji Magento.
Niestety moduły innych firm mogą prowadzić do konfliktów zależności komponentów w Magento 2. Problem pojawia się, jeśli wtyczki zależą od wcześniejszych komponentów Magento niż te, które właśnie zainstalowałeś.
Możesz więc spróbować poszukać obsługiwanych wersji, na których polegają Twoje moduły uruchomienia aktualizacji. Wymagane wersje są dostępne w pliku JSON w require lub require-dev obiektu.
Następnie spróbuj sprawdzić gotowość. Jeśli Ci się nie uda, zapoznaj się z komunikatem o błędzie w celu uzyskania dalszych informacji. Możesz również skontaktować się z dostawcą rozszerzenia, aby uzyskać dalszą pomoc. Jednocześnie do Twojej dyspozycji są również fora społecznościowe, na których z pewnością znajdziesz użytkowników, borykających się z podobnymi problemami.
Poniżej prezentujemy możliwe rozwiązania najczęstszych problemów z tworzeniem kopii zapasowych, które występują w Magento 2.
Pierwszym z problemów jest wyłączona kopia zapasowa. To właśnie z tego powodu narzędzie do tworzenia kopii zapasowych może nie działać. Zostaniesz o tym powiadomiony w następujący sposób:
Funkcja tworzenia kopii zapasowych jest wyłączona
Znaczy, to że jest ona w danej chwili wyłączona i że do tworzenia kopii zapasowych możesz użyć innych metod.
Aby włączyć funkcję tworzenia kopii zapasowych w Magento 2, wprowadź następujące polecenie CLI:
bin / magento config: ustaw system / backup / funkcjonalność_enabled 1
Wszystkie niezbędne informacje na temat kopii zapasowych są wymienione w oficjalnym dokumencie „Kopie zapasowe i wycofywanie zmian w Magento 2”, dostępnym na stronie dostawcy usług.
Kopia zapasowa może nie być dostępna z powodu braku miejsca na dysku. Zwolnij go, aby rozwiązać problem z kopią zapasową, który występuje podczas instalacji Magento 2. Możesz np. przenieść niektóre pliki do innego magazynu.
Wiele systemów operacyjnych zostało zgłoszonych jako błąd w całym okresie tworzenia kopii zapasowych Magento 2. Niestety to bardzo złożony temat, wymagający stworzenia osobnego artykułu. Możesz jednak skontaktować się z administratorem systemu lub poprosić o pomoc na forach publicznych. Otwarcie problemu z GitHub również może Ci pomóc w rozwiązaniu problemu.
Jeśli kopie zapasowe lub testy kopii zapasowych nie powiodą się, może to oznaczać, że jako właściciel systemu plików Magento nie masz wystarczających uprawnień w systemie plików. Jeśli masz do czynienia z plikami tylko do odczytu lub inny użytkownik je posiada, nie będziesz w stanie wykonać kopii zapasowej systemu.
Z tego powodu warto już na początku zweryfikować uprawnienia systemów plików i własność katalogu <magento_root> / var oraz podkatalogów, ponieważ mają one naprawdę duże znaczenie.
Gdy wersja Magento, z której korzystasz, używa wyszukiwarki katalogu nieobsługiwanej w wersji platformy, do której chcesz ją zaktualizować, zobaczysz następujący błąd:
Twoja obecna wyszukiwarka <nazwa silnika> nie jest obsługiwana. Przed aktualizacją musisz zainstalować obsługiwaną wyszukiwarkę.
Pamiętaj, że Twoja wyszukiwarka może być ustawiona na MySQL lub wersję Elasticsearch, która nie jest już obsługiwana w Magento 2. Dlatego sprawdź dokładnie oprogramowanie, które używasz. W tym celu użyj tego polecenia:
bin / magento config: pokaż katalog / wyszukiwarkę / wyszukiwarkę
Pomoże Ci to sprawdzić aktualną wyszukiwarkę i jej wersję.
Wyskoczenie takiego rodzaju błędu nie oznacza, że Magento jest niespójne, a Administrator niedostępny. Aby rozpocząć rozwiązywanie problemu, musisz powrócić do poprzedniej wersji Magento 2. Zacznij od jednego z następujących poleceń:
composer require magento/product-enterprise-edition=<version>
composer require magento/product-community-edition=<version>
Zastąp <version> wersją instalacji używaną przed aktualizacją. Powinna ona zawierać trzy cyfry oddzielone kropkami: 2.2.3.
Kiedyś MySQL był domyślną wyszukiwarką katalogów Magento. Jednak wszystko zmieniło się w wersji 2.4.0 i od tamtej pory nie jest już obsługiwany. Teraz wymagana jest wyszukiwarka Elasticsearch. Powinieneś ją zainstalować i skonfigurować przed aktualizacją do 2.4, aby wszystko działało sprawnie.
Jeśli już używasz Elasticsearch, ale jej wersja jest nieaktualna, napotkasz błąd. Zaktualizuj więc wyszukiwarkę przed aktualizacją do Magento 2.4. Użyj Elasticsearch 7.x i zapoznaj się z oficjalnym przewodnikiem „Skonfiguruj Magento do korzystania z Elasticsearch” dostępnym na stronie dostawcy. Po aktualizacji musisz skonfigurować Elasticsearch i ponownie zindeksować. Dopiero wtedy możliwa jest aktualizacja do Magento 2.4.
Wyobraź sobie sytuację, w której próbujesz zaktualizować komponenty Magento 2, ale aktualizacja się nie udaje. System powiadamia Cię w następujący sposób za pośrednictwem dziennika konsoli:
[2015-08-14 12:12:02 CDT] Job "update {"components"
[{"name":"example/module","version":"1.1.0"}]}" has been started
[2015-08-14 12:12:02 CDT] Starting composer update...
[2015-08-14 12:12:02 CDT] An error occurred while executing job "update {"components":
[{"name":"example/module","version":"1.1.0"}]}": Could not complete update {"components":
[{"name":"example/module","version":"1.1.0"}]} successfully: Cannot find component to update
Przykład ten ilustruje przypadek, w którym nie ma wersji składnika do przywrócenia. Musisz więc omówić tę kwestię z dostawcą tego elementu. Możesz także samodzielnie rozwiązać problem lub powrócić do poprzedniej wersji. Kliknij Cofnij, aby pozwolić Magento odzyskać dane, nawet jeśli wcześniej nie utworzyłeś ich kopii zapasowej.
Jednym z najważniejszych i jednocześnie łatwych do wdrożenia ulepszeń bezpieczeństwa dla Magento 2 jest niestandardowy adres URL administratora. Aby zmienić adres swojego zaplecza, musisz zmodyfikować plik „app / etc / local.xml” znajdujący się w sekcji admin / routers / adminhtml. Aby zmienić adres URL administratora w Magento 2, użyj takiego kodu:
<admin>
<routery>
<adminhtml>
<args>
<frontName><![CDATA[your-secure-location]]> </frontName>
</args>
</adminhtml>
</routers>
</admin>
Zdaniem niektórych specjalistów zmiana domyślnego adresu URL administratora za pośrednictwem natywnego interfejsu nie jest dobrym pomysłem. Innym zaleceniem jest użycie trudnej do odgadnięcia nazwy lokalizacji zaplecza. Zastosuj zmiany, wyczyść pamięć podręczną, sprawdź nowy adres URL i upewnij się, że zamiast starej jest wyświetlana strona błędu 404. Pamiętaj, to bardzo ważne!
Możesz utworzyć przekierowania 301 dla swojej witryny Magento 2 w sekcji Backend – Catalog – URL Rewrite Management, Jak to zrobić? Oto instrukcja:
1. Kliknij: Dodaj przepisanie adresu URL.
2. Otwórz menu Utwórz przepisanie adresu URL i wybierz Niestandardowy;
3. Wypełnij formularz Informacje o przepisywaniu adresu URL:
– ID Path – wprowadź stary adres URL.
– Ścieżka żądania – określ ją ponownie.
– Ścieżka docelowa – wprowadź tutaj nowy adres URL.
4. Wybierz opcję Trwałe (301) dla przekierowań.
5. Zapisz zmiany.
Następnie możesz sprawdzić, czy przekierowanie działa, czy nie, przechodząc do starej strony.
Przy domyślnych ustawieniach Magento 2 nie możesz aktywować kilku reguł koszyka dla jednego kuponu. Możesz jednak rozwiązać te problemy za pomocą żądania bazy danych:
1 DROP INDEX „UNQ_SALESRULE_COUPON_CODE” ON „Salesrule_coupon”
Otwórz „/app/code/core/Mage/SalesRule/Model/Resource/Coupon.php”. Musisz znaleźć wiersze 43-46 i skomentować je w następujący sposób:
/*$this->addUniqueField(array(
'field' => 'code',
'title' => Mage::helper('salesrule')->__('Coupon with the same code')
)); */
To kategoria, w której zamieściliśmy rozwiązania na błędy, których nie można przyporządkować do innych wymienianych w tym artykule.
Jeśli widzisz komunikat systemowy „Co najmniej jeden indeks jest całkowicie nieprawidłowy”, nie ma powodu do niepokoju. Oznacza to tylko, że musisz ponownie zindeksować swoją witrynę Magento 2. Jest to dość prosta procedura, która nie wymaga żadnej wiedzy technicznej. Możliwe jest uruchomienie zadania Cron lub uruchomienie następującego polecenia w katalogu głównym instalacji Magento 2:
php bin / Magento indeksator: reindeks
Jeśli nie jesteś użytkownikiem technicznym, poproś o to kogoś, kto orientuje się w temacie – to najprostsze rozwiązanie. Możesz jednak spróbować ponownie skonfigurować ustawienia php.ini na własną odpowiedzialność.
W zależności od potrzeb Twojej firmy e-commerce może być konieczna częsta zmiana nazwy domeny. Na szczęście bez problemu poradzisz sobie z tym zadaniem, nawet jeśli nie jesteś programistą. Wystarczy, że wykonasz następujące kroki:
1. Przejdź do swojego administratora Magento 2 i odwiedź Sklepy -> Konfiguracja -> karta Ogólne -> Sieć.
2. Rozwiń sekcję Podstawowe adresy URL.
3. Tutaj możesz określić nowy adres domeny.
4. Rozwiń także sekcję Bezpieczne podstawowe adresy URL.
5. Podaj nowy adres domeny w polu Bezpieczny podstawowy adres URL.
6. Zapisz nowe zmiany („Zapisz konfigurację” w prawym górnym rogu).
Jest ważna kwestia, o której koniecznie musisz pamiętać – tylko najnowsza wersja Magento 2 oferuje najlepsze wskaźniki wydajności i najbezpieczniejsze środowisko. Dlatego ważne jest, aby zaktualizować swoją witrynę e-commerce. Jeśli tego nie zrobisz, napotkasz liczne trudności. Jak rozwiązać problemy z bezpieczeństwem i wydajnością spowodowane przez przestarzałe oprogramowanie Magento?
Możesz użyć Composera, aby pobrać najnowsze oprogramowanie. Nie zapomnij utworzyć kopii zapasowej, zanim przejdziesz dalej. Aby przeprowadzić aktualizację, wykonaj następujące kroki:
1. Połącz się ze swoim serwerem internetowym przez SSH, używając dowolnego wybranego klienta SSH.
2. Zaloguj się na serwerze Magento 2 jako użytkownik z pełnym prawem własności do systemu plików.
3. Utwórz połączenie SSH i przejdź do katalogu głównego Magento 2.
4. Użyj tego polecenia:
5. Composer wymaga magento / product-community-edition 2.x.x –no-update
Następnie zastąp 2.x.x najnowszą wersją:
1. Wprowadź klucze uwierzytelniające magento.repo, jeśli zostaniesz o to poproszony.
2. Wyczyść pamięć podręczną po zakończeniu aktualizacji.
3. Sprawdź, czy aktualizacja zakończyła się powodzeniem w Magento 2 Admin. Aktualną wersję oprogramowania znajdziesz w prawym dolnym rogu.
Aktualizacja CSS w witrynie e-commerce nie zawsze prowadzi do pożądanego rezultatu. Twoje zmiany mogą nie zostać wyświetlone, jeśli nie wyczyścisz prawidłowo pamięci podręcznej. Poniższe polecenia mogą pomóc w rozwiązaniu problemów z pamięcią podręczną CSS w Magento, jeśli takie u Ciebie wystąpią.
rm -rf var/di/* var/generation/* var/cache/* var/log/* var/page_cache/* var/session/*var/view_preprocessed/* pub/static/*
php bin/magento setup:static-content:deploy
php bin/magento cache:clean
php bin/magento cache:flush
Pamiętaj, że istnieje możliwość przekierowania Twojej witryny do otwarcia przez „www”. Możesz zastosować niezbędne zmiany w pliku .htaccess znajdującym się w katalogu głównym Magento 2. Jak to zrobić? Znajdź fragment „RewriteEngine on” i wklej poniższy kod:
RewriteCond %{HTTP_HOST} ^yourdomain.com$ [NC]
RewriteRule ^(.*)$ http://www.yourdomain.com/$1 [R=301,L]
Następnie Przejdź do Store → Configuration → General → Web i rozwiń sekcję Base URL. Teraz możesz zastąpić swoją domenę http://www.domain.com. Nie zapomnij zapisać zmian („Zapisz konfigurację” w prawym górnym rogu).
W tym akapicie znajdziesz różne wskazówki, dotyczące rozwiązywania problemów związanych z Magento Commerce Cloud. Chociaż zawsze możesz przesłać zgłoszenie, aby uzyskać fachową pomoc podczas korzystania z tej platformy, zgodnie za głosem specjalistów, zalecamy sprawdzenie następujących kwestii:
1. Zweryfikuj poświadczenia.
2. Przejrzyj pliki dziennika.
3. Sprawdź odniesienie do komunikatu o błędzie dla ece-tools.
4. Użyj New Relic Logs do przeglądania i analizowania danych dziennika zagregowanych dla środowisk Pro Staging i Production.
Możesz również poszukać możliwych rozwiązań w oficjalnej dokumentacji Magento Commerce Cloud. Jeśli jednak samodzielne rozwiązywanie problemów nie jest dla Ciebie, utwórz zgłoszenie o pomoc. Jak to zrobić?
1. Przejdź do interfejsu internetowego projektu.
2. Zaloguj się do Centrum pomocy Magento.
3. Kliknij: Prześlij zgłoszenie w prawym górnym rogu.
4. Wypełnij zgłoszenie do pomocy technicznej i prześlij je.
Pomimo to, że wiesz, jak wysłać zgłoszenie z prośbą o pomoc, nadal interesuje Cię rozwiązywanie problemów z Magento 2? Zapraszamy więc do dalszej lektury naszego poradnika!
W obsłudze Magento niezwykle ważna jest kwestia niepoprawnych kluczy uwierzytelniających – kluczy do innego konta lub tych, których używasz do Magento Open Source. Z jakiego powodu? Użycie nieprawidłowych kluczy prowadzi do niepowodzenia całego procesu wdrożenia. Nie jest to jednak sytuacja typu catch-22. Możesz je odzyskać, klonując projekt, dodając poprawne klucze do auth.json i wypychając zmianę do gałęzi głównej.
Na potrzeby przykładowej sytuacji załóżmy, że w swoim projekcie masz tylko gałąź główną, czyli domyślną, którą otrzymujesz podczas tworzenia projektu po raz pierwszy. Możesz ponownie wdrożyć narzędzie z poprawnymi kluczami uwierzytelniania w następujący sposób:
1. Zaloguj się do maszyny za pomocą kluczy Magento Commerce Cloud SSH, a następnie do swojego projektu. Użyj następującego polecenia:
1 logowanie do magento-cloud
2. Utwórz nową gałąź, aby zaktualizować kod o nazwie auth:
1 środowisko magento-cloud: master autoryzacji gałęzi
3. Przejdź do katalogu głównego projektu.
4. Znajdź plik auth.json i otwórz go w edytorze tekstu.
{
„http-basic": {
"repo.magento.com": {
"nazwa użytkownika": "<twój klucz publiczny>",
"hasło": "<twój klucz prywatny>"
}
}
}
5. Określ poprawne klucze uwierzytelniania.
6. Zapisz zmiany i zamknij edytor.
7. Zatwierdź i scalać zmiany:
git add -A
git commit -m "<opis zmiany>"
git push origin master
8. Poczekaj do zakończenia procedury wdrażania.
Pamiętaj! Zawsze postępuj zgodnie z komunikatami systemowymi, ponieważ wskazują one, czy wdrożenie się powiodło.
Omówmy teraz kolejne problemy związane z nieprawidłowymi danymi logowania w pliku auth.json.
Nieudane wdrożenie jest najczęstszym objawem nieprawidłowych poświadczeń. Zwykle prowadzi to do następującego typu błędu:
Nie można uzyskać dostępu do adresu URL
The 'https://repo.magento.com/archives/magento/magento-cloud-configuration/magento-magento-cloud-configuration-1.0.3.0.zip’ URL could not be accessed: HTTP/1.1 403 Forbidden
Wszystkie swoje błędy możesz zobaczyć w dzienniku. Zaloguj się do swojego projektu i kliknij: Niepowodzenie.
Tego typu problem możesz rozwiązać także, klonując projekt lokalnie i aktualizując plik auth.json z poprawnymi kluczami autoryzacji. Następnie uruchom aktualizację kompozytora, aby odświeżyć zależności projektu. Wszystkie te procedury, jeśli zostaną wykonane pomyślnie, pozwolą wdrożyć projekt i rozpocząć jego modyfikacje.
Ważne! Pamiętaj, aby używać własnych kluczy, a nie wspólnych kluczy kont.
1. Zaloguj się do swojego komputera, na którym znajdują się klucze SSH:
2. Logowanie do magento-cloud
3. Teraz musisz wymienić swoje projekty:
projekt magento-cloud: lista
4. Klonowanie projektu to kolejna opcja. Zrób to, jeśli dotyczy:
projekt magento-cloud: pobierz <identyfikator projektu>
Teraz przejdź do katalogu projektu, aby zaktualizować plik auth.json i ponownie wdrożyć środowisko:
1. Otwórz plik auth.json w edytorze tekstu.
2. Zmień odpowiednio nazwy użytkownika i hasła kluczy publicznych i prywatnych Magento Commerce.
3. Zapisz zmiany i wyjdź z edytora.
4. Zaktualizuj zależności projektu:
1 composer update
Teraz możesz dodawać, zatwierdzać i wypychać zmiany:
1. git add -A
2. git commit -m „<message>”
3. git push origin master
Po wykonaniu powyższych informacji Twój projekt jest wdrażany. Zakończenie procesu może zająć trochę czasu. Kiedy wdrożenie zostanie zakończone, otrzymasz odpowiedni komunikat.
Jeśli chcesz sprawdzić, czy wdrożenie się powiodło, możesz to zrobić, wpisując jeden z adresów URL wyświetlanych w obszarze Trasy środowiska: w przeglądarce internetowej. Jeśli wszystko działa poprawnie, masz tylko problem z nieprawidłowymi danymi logowania.
Brak kodu to najczęstszy problemem związanym z nowym projektem Magento. Możesz go nie otrzymać, ponieważ kreator konfiguracji nie zakończył wszystkich procesów. W takim przypadku pojawia się następujące powiadomienie: This project has no code yet.
Musisz więc kliknąć czerwone łącze w komunikacie, aby ponownie uruchomić kreator i instalację, postępując zgodnie z wymaganiami dotyczącymi pierwszej konfiguracji.
Komponenty, których zależności są nieodpowiednie dla twojego środowiska, takie jak niekompatybilne wersje PHP, powodują błędy. Recepta na nieudane wdrożenie jest dostępna w dwóch formach. Możesz przywrócić snapshot lub pozbyć się niesprawnego składnika z pliku composer.json i ponownie wdrożyć całe środowisko.
Sprawdź jednak, jak oczyścić się z poprzedniego wdrożenia. Konieczne jest zalogowanie się do zdalnego środowiska i wyczyszczenie zawartości katalogu var. Następnie możesz usunąć komponent z pliku composer.json i ponownie wdrożyć rozwiązywanie problemów z awarią wdrażania komponentów w Magento 2.
Jak wyczyścić katalogi var? Przejdź do lokalnej stacji roboczej, a później do katalogu głównego projektu Cloud:
1. Użyj następującego polecenia SSH, aby zalogować się do środowiska zdalnego:
środowisko magento-cloud: ssh
2. Następnie wyczyść katalogi var za pomocą tego polecenia:
1 rm -rf var / *
Komenda „Usuń komponent” zawiera następujące kroki:
1. Przejdź do katalogu głównego projektu Cloud na lokalnej stacji roboczej.
Wyczyść pamięć podręczną za pomocą tego polecenia:
composer clear-cache\
2. Pozbądź się niechcianego komponentu:
Composer remove <component-name>: <version>
3. Jeśli procedura zakończyła się pomyślnie, pojawi się następujący komunikat:
Package "<name>:<version>" listed for update is not installed. Ignoring
I to wszystko. Nie musisz robić już nic więcej.
4. Pobranie aktualizacji zajmuje zwykle trochę czasu.
5. Teraz możesz dodawać, zatwierdzać i przesyłać zmiany.
1. git add -A
2. git commit -m „<message>”
3. git push origin <ID environment>
Przyjrzyjmy się teraz najczęściej napotykanych problemach w Magento 2 związanych z kluczami szyfrującymi. W przypadku nowego projektu – Starter, klucz szyfrowania Magento pojawia się w głównym oddziale środowiska produkcyjnego. Za każdym razem, gdy przechodzisz na inne środowiska, następuje migracja z kodem i bazą danych.
W przypadku projektu Pro jest on powiązany z szablonem „pustej witryny”. Klucz szyfrowania pojawia się w gałęzi i środowisku Integration master. Trwa to do momentu pierwszego wdrożenia we wszystkich środowiskach. Jeśli chodzi o import danych z istniejącej instalacji Magento, konieczne jest utworzenie kopii klucza i wdrożenie go do środowisk.
W sytuacji, w której klucz szyfrowania nie jest dostępny we wszystkich środowiskach, Twój sklep napotka błędy uwierzytelniania i autoryzacji. Nie będziesz mieć możliwości przetwarzania płatności, zwrotów, wysyłki i tego typu innych funkcji. Jak rozwiązać taki problem? Zrobisz to, weryfikując i aktualizując zmienną środowiskową klucza szyfrowania. W tym celu wykonaj następujące kroki:
1. SSH do każdego środowiska w chmurze – najczęściej masz do czynienia z trzema z nich: z integracją, stagingiem i produkcją. Użyj tego polecenia:
magento-cloud environment:ssh
2. Następnie edytuj plik app / etc / env.php. Otwórz go w edytorze tekstu.
3. Zweryfikuj istniejące wartości klucza dla crypt. Powinien to być Twój klucz Magento Commerce.
return array (
'crypt' =>
tablica (
'key' => '<your encryption key>',
),
);
4. W przypadku niepoprawnej wartości dodaj właściwą i zapisz zmiany w pliku env.php.
Zastosuj też podobne zmiany w każdym środowisku. Nie zapomnij przetestować działań sklepu we wszystkich z nich, aby sprawdzić, czy nowe wartości są poprawne. Dzięki temu rozwiążesz problemy z kluczem szyfrowania Magento 2.
Zdarza się, że minifikacja HTML może również powodować problemy w Magento 2. Zobacz więc, na co warto się przygotować!
Załóżmy, że do wygenerowania pliku config.local.php używasz następującego polecenia:
php bin / magento magento-cloud: scd-dump
Jednak Twoja witryna Magento 2 napotyka błędy po utworzeniu i wdrożeniu. Wszystkie próby uzyskania dostępu do witryny powodują następujący błąd:
“failed to open stream: No such file or directory” for a series of files.”
Wykonaj więc następujące czynności, aby rozwiązać powyższy problem:
1. Skopiuj plik app / etc / config.local.php i wklej go do lokalnego.
2. Dokonaj edycji i usunięcia sekcji minify z pliku config.local.php:
'template' =>
tablica (
'allow_symlink' => '0',
'minify_html' => '1',
),
3. Zmodyfikuj ustawienia minifikacji za pomocą następującego polecenia:
```shell update core_config_data set value=0 where path =’dev/template/minify_html’
4. Opróżnij wszystkie pamięci podręczne.
php bin/magento cache:flush
redis-cli -h <> -p <> flushall
5. Przejdź do pliku config.local.php i usuń wszystkie elementy związane z base_url.
Po zapisaniu zmian możesz przystąpić do pełnego wdrożenia pliku config.local.php. Przenieś go do gałęzi Git i buduj/wdrażaj w różnych środowiskach. W ten sposób rozwiążesz problemy z minifikacją HTML Magento 2.
Co zrobić, jeśli po wdrożeniu zauważysz, że integracja Magento 2 z Google Analytics została wyłączona? Na szczęście jest na to rozwiązanie!
Na potrzeby wytłumaczenia tego załóżmy, że wdrażasz kod w różnych środowiskach. Z kolei kompilacja i wdrażanie skryptów weryfikuje, czy gałąź główna została wdrożona, aby utrzymać włączone Google Analytics. Jednak gdy wykonujesz te same czynności w celu rozwinięcia lub gałęzi podrzędnych, odpowiedni skrypt wyłącza Google Analytics. Dlaczego tak się dzieje?
Potraktuj to jako środek zapobiegawczy, który nie pozwala danym i interakcjom programistów dostać się do Google Analytics i wpłynąć na statystyki Twojej firmy. Skrypt wdrażania sprawdza zmienną MAGENTO_CLOUD_ENVIRONMENT pod kątem nazwy gałęzi łańcucha głównego (pamiętaj, że jest to porównanie z rozróżnianiem wielkości liter) określonej dla GIT_MASTER_BRANCH. Nie możesz modyfikować takich zmiennych. Dlatego, gdy skrypt sprawdza, czy wdrożona gałąź jest główną, nie wyłącza Google Analytics. Ale kiedy wdrażasz inną gałąź, skrypt wyłącza usługę. Jak więc rozwiązać te problemy z Google Analytics, które występują podczas wdrażania w Magento 2?
Zawsze wdrażaj z gałęzi głównej. W ten sposób zapewniasz, że usługa Google Analytics będzie zawsze włączona Production.
Aby rozwiązać problemy z dostępnością witryny w Magento 2, odwiedź dzienniki wdrażania. Dlaczego? Ponieważ to one zawierają informacje niezbędne do zidentyfikowania problemu.
Dla przykładu – może okazać, że błąd CredisException uniemożliwia normalne działanie sklepu internetowego. Wywodzi się z natury Magento i sposobu, w jaki narzędzie obsługuje jednoczesne połączenia z Redis podczas wdrażania zawartości statycznej:
[2018-01-30 18:56:52] Generating static content for locales: en_US
[2018-01-30 18:56:52] Command:php ./bin/magento setup:static-content:deploy –jobs=3 en_US
[CredisException]
read error on connection
Przedstawia to sytuację, w której domyślna liczba zadań przetwarzania podczas wdrażania zawartości statycznej jest ustawiona na 3. Jednak zalecana liczba zadań przetwarzania to 1.
Zaleca się więc wdrażanie zawartości statycznej w fazie kompilacji. Nie ma wówczas dostępu do Redis, więc nie napotkasz problemu, a przy tym zminimalizujesz ewentualne przestoje w pracy.
Od początku 2022 roku wchodzimy w skład Unity Group. Teraz zapisując się do naszego newslettera, będziesz na bieżąco z informacjami całej naszej organizacji.