Właśnie zainstalowałem Magento 2 Community Edition z przykładowymi danymi (pobranymi z ich strony internetowej i nie zainstalowanymi z kompozytorem) lokalnie przez MAMP. Proces instalacji powiódł się, ale brakuje wszystkich plików w folderze pub / static z wyjątkiem .htaccess. Oznacza to, że wszystkie css, js itp. Zwracają 404 zarówno dla frontendu, jak i backendu.
Spędziłem kilka godzin, próbując to naprawić bez powodzenia. Oto co zrobiłem do tej pory:
- Zmieniono
Options Indexes FollowSymLinks AllowOverride
z „Brak” na „Wszystko” w /MAMP/conf/apache/httpd.conf i zrestartowałem MAMP - Upewnij się, że nie
LoadModule rewrite_module modules/mod_rewrite.so
ma komentarza w httpd.conf - Skonfiguruj domenę programistyczną (magento.dev) w MAMP
- Próbowałem uruchomić
php bin/magento setup:static-content:deploy
w katalogu głównym magento.dev przy użyciu terminalu. Zwraca to jednak:
Błąd krytyczny: nie znaleziono klasy „Ustawienia regionalne” w /Applications/MAMP/htdocs/magento.dev/vendor/magento/framework/Locale/Bundle/DataBundle.php w linii 64
- Niekomentowane i zmienione RewriteBase na
RewriteBase /
w pliku .htaccess w katalogu głównym magento.dev. - Ustaw Magento w trybie programowania
- Ręczne czyszczenie pamięci podręcznej i
php bin/magento setup:static-content:deploy
ponowne uruchomienie
Większość przewodników i postów na forum mówi mi, żebym uruchomił: php bin/magento setup:static-content:deploy
ale nie jestem pewien, czy robię to poprawnie.
System operacyjny: OSX 10.11.2
Wersja MAMP: 3.5
Wersja PHP: 7.0
Wersja Apache: 2.4.16
Wersja MySQL: 5.6.25
Każda pomoc będzie mile widziana.
php bin/magento setup:static-content:deploy -f
i poczekać 80 sekund.Odpowiedzi:
ROZWIĄZANIE # 1 (JEŚLI CHCESZ EDYTOWAĆ PLIK XML)
Chciałbym, abyś pobrał plik Magento 2 zip
magentocommerce.com/download
, utworzył nowy plik db w phpmyadmin , rozpakował plik zip w folderze htdocs . Zainstaluj Magento 2, ale nie używaj localhost, użyj 127.0.0.1 w adresie URL sklepu i administracyjnym. Po udanej instalacji NIE uruchamiaj magento.Teraz wyczyścimy / usuniemy pamięci podręczne i sesje Magento 2. Przejdź do następujących ścieżek i usuń wszystko:
Kiedy Magento 2 nie jest w trybie produkcyjnym, spróbuje utworzyć dowiązania symboliczne dla niektórych zasobów statycznych na serwerze lokalnym. Musimy zmienić to zachowanie Magento 2, przechodząc do edycji
ROOT > app > etc > di.xml
pliku. Otwórzdi.xml
w swoim ulubionym edytorze kodu, znajdźvirtualType name="developerMaterialization"
sekcję. W tej sekcji poniżej znajdziesz element,<item name="view_preprocessed" xsi:type="object">
który należy zmodyfikować. Możesz to zmienić, zmieniając następującą treść:Do:
Teraz ostatni krok, usuń również stare pliki wygenerowane w
ROOT > pub > static > DELETE ALL EXCEPT .HTACCESS
Osobiście wypróbowałem to na moim hoście lokalnym, używając MAMP, EasyPHP DevServer, Xampp i Wampp, i pomyślnie zainstalowałem i używając Magento 2. Aby uzyskać więcej informacji, możesz sprawdzić ten link: Magento 2 CSS i JavaScript nie ładują się z właściwego folderu
ROZWIĄZANIE # 2
Zainstaluj Composer. Teraz chciałbym, abyś pobrał plik Magento 2 zip
magentocommerce.com/download
, utworzył nowy plik db w phpmyadmin , rozpakował plik zip w folderze htdocs . Zainstaluj Magento 2, ale nie używaj localhost, użyj 127.0.0.1 w adresie URL sklepu i administracyjnym. Po udanej instalacji NIE uruchamiaj magento.Teraz zweryfikujemy instalację Composer, Wdróż statyczną zawartość, wyczyść / opróżnij pamięć podręczną Magento i ponownie zindeksuj bloki Magento 2. Aby wykonać wszystkie powyższe czynności, naciśnij KLAWISZ WINDOWS + R, aby otworzyć okno dialogowe RUN i wpisz „cmd”, aby otworzyć wiersz polecenia.
Wpisz „ cd PATH_TO_YOUR_MAGENTO2_FILES ”, aby wejść do katalogu ROOT Magento 2.
Teraz, aby zweryfikować instalację kompozytora w powyższym katalogu, wpisz „ instalacja kompozytora ”.
W tym kroku konfigurujemy zawartość statyczną do wdrożenia w naszym sklepie Magento. Aby to zrobić, wpisz „ php bin / magento setup: static-content: deploy ”.
Wyczyść / opróżnij pamięć podręczną Magento, wpisując „ php bin / magento cache: flush ” w CMD.
I na koniec, do Reindex Magento Static Blocks wpisz „ php bin / magento indexer: reindex ”.
Skończyłeś z udaną instalacją Magento 2.
źródło
Spróbuj uruchomić poniżej polecenia
A jeśli podczas uruchamiania tego polecenia pojawi się błąd, na przykład brak pliku, jak już powiedziałeś, porównaj strukturę pliku projektu ze świeżą
magento2
strukturą pliku. Jeśli brakuje jakiegoś pliku w projekcie, skopiuj odpowiedni plik do swojego projektu.Jeśli wystąpi jakikolwiek inny błąd, opublikuj błąd w swoim pytaniu, aby ktoś mógł odpowiedzieć na Twoje pytanie.
źródło
Fatal error: Class 'Locale' not found in /Applications/MAMP/htdocs/magento.dev/vendor/magento/framework/Locale/Bundle/DataBundle.php on line 64
po uruchomieniuphp bin/magento setup:static-content:deploy
w katalogu głównym.Wygląda jak
intl
rozszerzenie nie jest ładowane do twojej konsoli w wersji php. Sprawdź, czy używasz tej samej wersji / ustawień dla wersji apache i cli php.MacOsX ma preinstalowaną wersję php, a niektóre pakiety instalujące php nie zmieniają dowiązania symbolicznego dla sesji terminala. W rezultacie możesz mieć zainstalowaną inną wersję php w tym samym czasie.
PS: Proponuję użyć włóczęgi na Mac OS. działa całkiem dobrze, jeśli używasz NFS do udostępniania plików
źródło
php -v
(która pokazuje, jaka wersja komend PHP działa jako) i użycie phpinfo.php , która pokazuje, jaką wersję PHP obsługuje serwer WWW.Jeśli wszystko inne zawiedzie, przyciąć te katalogi:
Działa to, jeśli masz złamane dowiązania symboliczne w tych katalogach.
źródło
następnie daj odpowiednie uprawnienia do folderów i plików.
następnie uruchomić
php bin/magento setup:static-content:deploy
z folderu głównego.sprawdź pub / static.
Mam nadzieję, że to Ci pomoże.
źródło
clear page_cache, di ,view_process, cache
? Jest to instalacja lokalna, więc jako administrator super komputera mam wszystkie uprawnienia do odczytu / zapisu. Czy są jakieś inne uprawnienia, o których nie wiem?Czy zainstalowałeś
composer
i uruchomiłeścomposer init
w katalogu magento2? Jeśli nie, spróbuj, a następnie uruchom poleceniephp bin/magento setup:static-content:deploy
źródło
composer init
kompozytora, poprosi mnie o skonfigurowanie konfiguracji composer.json, więc myślę, że to nie pomoże.