Mam błąd podczas dodawania modułu ..
Uruchom ponownie polecenie kompilacji Magento
więc uruchamiam poniżej polecenia, ale również wyświetlam błąd, który poniżej, gdy uruchamiam polecenie z roota
konfiguracja php magento: di: kompilacja
Compilation was started.
%message% 0/7 [>---------------------------] 0% 1 sec 37.0 MiB%message% 0/7 [>
---------------------------] 0% 1 sec 37.0 MiBProxies code generation... 0/7 [
>---------------------------] 0% 1 sec 37.0 MiB
Proxies code generation... 1/7 [====>-----------------------] 14% 47 secs 43.5
MiB
Repositories code generation... 1/7 [====>-----------------------] 14% 47 secs
43.5 MiB
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate
24 bytes) in D:\xampp\htdocs\linsenwelt\vendor\zendframework\zend-code\src\Scan
ner\FileScanner.php on line 36
Jak naprawić ?
php
magento-2.0
memory
code-generation
Khushbu Mehta
źródło
źródło
Odpowiedzi:
Szybkim rozwiązaniem dla limitu pamięci w poleceniu Magento 2 jest bezpośrednie dodanie limitu pamięci w poleceniu.
W przypadku polecenia Kompilacja
Do wdrożenia
Możesz zmienić zgodnie z 5G na maksimum, jeśli problem nie zostanie rozwiązany.
źródło
Wygląda na to, że twój cli ma przydzielone tylko 128 MB pamięci. Jeśli to możliwe, zwiększ wartość do co najmniej 256 MB lub 512 MB.
źródło
Allowed memory size of 134217728 bytes
masz, to nie zwiększyłeś limitu pamięci dla cli.użyj tego „brudnego” sposobu
źródło
źródło
Jeśli używasz PHP> = 5.3.0 i korzystałeś z Magento 2.1.x i nowszych, to po uruchomieniu
composer install
dwa pliki zostaną utworzone w katalogu głównym i katalogu pub o nazwie.user.ini
Edytuj te pliki, aby zastąpić ustawienia PHP.ini, w tym przypadku jest to
memory_limit
Jeśli używasz Apache, będziesz musiał dbać o pliki tylko w katalogu głównym, a nie o
/pub
jeden i odwrotnie, jeśli używasz engineX (nginx)Mam nadzieję, że to pomoże.
źródło
Musisz zwiększyć pamięć przydzieloną do php. Aby zwiększyć pamięć, wykonaj polecenie
php --ini
. Findout załadowany php.ini. Tak powinno byćPrzejdź do aktualnie załadowanego pliku php.ini (/etc/php5/cli/php.ini) i znajdź parametr limit_pamięci. Zwiększ wartość w stosunku do parametru memory_limit do 256M lub 512M.
źródło
Ta sytuacja może być trudna do debugowania, ponieważ jeśli tylko chcesz
pokazuje limit pamięci dla PHP na twojej ścieżce, co może być w porządku. Ale skrypt magento (bin / magento) używa preambuły
więc niekoniecznie używa PHP z twojej ścieżki! Jednym ze sposobów wyśledzenia
php.ini
używanego pliku jest napisanie małego skryptu:wywołaj go
getinfo
(niegetinfo.php
!), spraw, aby był wykonywalny, a następnie uruchom go w następujący sposób:Spowoduje to wyświetlenie pliku ini, który należy zmienić. W tym pliku zmień wartość konfiguracji,
memory_limit
jak sugerowano w innych postach, na wyższą niż 128M. Następnie zapisz plik i sprawdź swoją pracę:źródło
Mam podobny problem, limit pamięci został zwiększony do 2 GB w pliku php ini, plik phpinfo () pokazał, że został ustawiony na 2 GB. Wygląda na to, że Magento ustawia gdzieś limit pamięci. Zwiększyłem limit pamięci w bin bin / magento. W pierwszym wierszu umieszczam to:
dzięki czemu działało.
źródło
Mam rozwiązanie mojego pytania. W przypadku błędu wyczerpania pamięci musimy dodać limit pamięci dla kodu kompilacji.
Mam nadzieję, że pomoże to komuś w przyszłości.
źródło
Użyj następującego wiersza po
php/bin magento -d memory_limit=5G s:d:c
kod kompilacji. Wynika to z dozwolonego limitu pamięci php. Ale po zezwoleniu na limit pamięci w poleceniu usunie to błąd, a kompilacja i inne polecenia będą działać bezbłędnie. Po prostu dodaj to-d memory_limit=5G
do każdego polecenia, jak pokazano w powyższym przykładzie. Głosuj za uznaniem mojej odpowiedzi za przydatną.źródło
Kompilacja przy użyciu „-d memory_limit = 5G” nie jest mądrą decyzją. Jest to rozwiązanie tymczasowe, na które może wpłynąć proces przełączania trybów, tj. Od programisty do produkcji. Tym razem system kompiluje kod bez logiki „-d memory_limit = 5G”, która generuje błąd.
Lepszym rozwiązaniem jest naprawienie tego błędu na tym etapie. Aby to naprawić, otwórz php.ini i zwiększ limit pamięci o 1024M i uruchom polecenie kompilacji php bin / magento setup: di: compile
Sprawdź to: https://getcomposer.org/doc/articles/troublesh.md#memory-limit-errors
Tym razem powinno działać
źródło
Jeśli napotykasz ten problem w Cli, podaj to polecenie
php -dmemory_limit = Konfiguracja bin / magento 8G: aktualizacja
źródło
dla M2 dodaj limit pamięci poprzez ssh z poniższym poleceniem.
dla polecenia kompilacji:
php -dmemory_limit=5G bin/magento setup:di:compile
dla polecenia wdrożenia:php -dmemory_limit=5G bin/magento setup:static-content:deploy
możesz zwiększyć wartość 5G, jeśli problem nie został rozwiązany.
źródło
Szybkim rozwiązaniem dla limitu pamięci w poleceniu Magento 2 jest bezpośrednie dodanie limitu pamięci w poleceniu.
W przypadku polecenia Kompilacja
php -dmemory_limit = 5G bin / magento setup: di: compile For Deployment
php -dmemory_limit = Konfiguracja bin / magento 5G: zawartość statyczna: wdrażanie Możesz zmienić zgodnie z 5G na maksimum, jeśli problem nie zostanie rozwiązany.
to naprawdę działa :)
źródło