Przesyłanie modułu kończy się błędem „file too large”, co zrobić?

Pytanie opublikowane 2644 wyświetleń

To zwykle limit przesyłania PHP, a nie problem z plikiem ZIP modułu. PrestaShop odbiera ZIP przez normalny mechanizm uploadu PHP; jeśli PHP odrzuci plik wcześniej, back office może pokazać tylko błąd "file too large" albo niepełnego przesłania.

Advanced Parameters > Information z limitami przesylania PHP i pamieci
Advanced Parameters > Information - limity PHP upload_max_filesize, post_max_size i memory_limit stojace za komunikatem 'file too large'.

Poproś hosting o zwiększenie upload_max_filesize i post_max_size. Ustaw post_max_size wyżej niż upload_max_filesize, bo cały HTTP POST ma narzut. Przy większych modułach albo wolnym hostingu współdzielonym zwiększ też max_execution_time, aby PHP zdążyło skopiować i rozpakować archiwum.

; php.ini or .user.ini example
upload_max_filesize = 64M
post_max_size = 80M
max_execution_time = 300
memory_limit = 256M
# Apache + mod_php only, not PHP-FPM
php_value upload_max_filesize 64M
php_value post_max_size 80M
php_value max_execution_time 300

Po zmianie ustawień PHP zrestartuj PHP-FPM albo Apache, jeśli hosting tego wymaga, potem odśwież back office PrestaShop i spróbuj ponownie. Jeśli nie możesz zmienić tych wartości, użyj FTP/SFTP: rozpakuj moduł lokalnie, skopiuj folder modułu do /modules/, a potem zainstaluj go z Modules > Module Manager. Efekt instalacji jest taki sam jak po udanym uploadzie ZIP.

Nadal problem? Skontaktuj się z naszym zespołem wsparcia i podaj nazwę ZIP, rozmiar pliku, wersję PrestaShop, wersję PHP oraz dokładny błąd uploadu.

Gdy używasz FTP/SFTP, upewnij się, że wgrywasz folder zawierający główny plik PHP modułu. Na przykład moduł, którego źródło deklaruje $this->name = 'mprinternallinking', musi znajdować się jako /modules/mprinternallinking/, z mprinternallinking.php oraz folderami vendor/, controllers/, views/ albo src/ w tym samym folderze. Dodatkowy folder-opakowanie to częsty powód, dla którego moduł nie pojawia się w Module Manager.

Gdy pliki są już na miejscu, nie zatrzymuj się na tym. Procedura instalacji tworzy tabele modułu, rejestruje hooki i dodaje kontrolery administracyjne. W sprawdzonych modułach kod instalacyjny może też resetować opcache, instalować wspólną pamięć konfiguracji admina i zapisywać wartości domyślne. Jeśli tylko skopiujesz pliki i nigdy nie klikniesz Install, tych tabel i hooków w bazie zabraknie.

Jeśli poprzedni nieudany upload zostawił częściowo utworzony folder, usuń tylko ten niekompletny folder modułu przed ponowną próbą, a potem wgraj czystą kopię. Nie usuwaj niezwiązanych cache PrestaShop ani folderów modułów tylko dlatego, że upload się nie udał; zwykle błąd wystąpił, zanim kod instalacyjny modułu w ogóle się uruchomił.

Czy ta odpowiedź była pomocna?

Masz jeszcze pytania?

Nie możesz znaleźć tego, czego szukasz? Wyślij nam pytanie, a odpowiemy.

Ładowanie...
Do góry