Polskie wsparcie PrestaShop
PrestaShop => Konfiguracja => Wątek zaczęty przez: azi_111 w Marzec 24, 2016, 02:35:43 pm
-
Witam,
Prestashop 1.6.1.3.
Do pewnego momentu wszystko ładnie się instalowało, działało. Nie wiem dlaczego, ale ostatnio podczas próby instalacji dowolnego modułu poprzez "Dodaj moduł" i wskazanie modułu (w postaci zip) gdy klikam zainstaluj pojawia mi się napis "Błąd wewnętrzny # " i nie udaje mi się nic doinstalować.
Jeśli ten moduł rozpakuję i wrzucę na serwer do folderu z modułami to wtedy jest widziany przez prestę i poprawnie instalowany.
Może ktoś miał podobny przypadek albo wie czym to jest spowodowane.
-
Też tak z niektórymi modułami mam. Albo wywalają błąd przy instalacji, a pomimo tego się instalują, albo się nie chcą zainstalować "bo nie", ale skopiowane działają. Przyzwyczai się.
-
A tryb debugowania pokazuje jakieś dodatkowe błędy?
-
błąd wewnętrzny oznacza brak plików językowych lu xml konfiguracyjnego. W najgorszym przypadku oznacza, że są problemy z uprawnieniami dostępu grup na serwerze do plików np. użytkownik www-data nie ma uprawnień do zapisu w folderze
-
W trybie debugowania otrzymałem taki komunikat:
Notice w linii 586 w pliku /usr/home/azi/domains/wisus.pl/public_html/controllers/admin/AdminModulesController.php
[8] Undefined index: newfile
a w linii 586 mam coś takiego:
$this->errors[] = sprintf($this->l('Internal error #%s'), $_FILES['newfile']['error']);
-
zobacz czy masz nadpisany przez moduł ten plik w linii 596
AdminModulesController.php
-
dziękuję za zainteresowanie .
Niestety nie bardzo rozumiem o co chodzi z nadpisaniem - ten plik ma datę instalacji prestashop,
ale dalej mam tak:
$this->errors[] = sprintf($this->l('Internal error #%s'), $_FILES['newfile']['error']);
break;
}
} elseif (!isset($_FILES['file']['tmp_name']) || empty($_FILES['file']['tmp_name'])) {
$this->errors[] = $this->l('No file has been selected');
} elseif (substr($_FILES['file']['name'], -4) != '.tar' && substr($_FILES['file']['name'], -4) != '.zip'
&& substr($_FILES['file']['name'], -4) != '.tgz' && substr($_FILES['file']['name'], -7) != '.tar.gz') {
$this->errors[] = Tools::displayError('Unknown archive type.');
} elseif (!move_uploaded_file($_FILES['file']['tmp_name'], _PS_MODULE_DIR_.$_FILES['file']['name'])) {
$this->errors[] = Tools::displayError('An error occurred while copying the archive to the module directory.');
} else {
$this->extractArchive(_PS_MODULE_DIR_.$_FILES['file']['name']);
}
} else {
$this->errors[] = Tools::displayError('You do not have permission to add this.');
-
spróbuj w konsoli rozpakować jakikolwiek plik zip na serwerze. jeśli się nie uda admin serwera. Jeśli się uda sprawdź dostęp do katalogu tmp na serwerze.
-
Plik zip udało się rozpakować.
Natomiast nie widziałem u siebie żadnego katalogu tmp, więc potworzyłem katalogi tmp: od głównego katalogu, poprzez katalog z domenami, w katalogu presty, aż do katalogu admina - nadałem uprawnienia 777, ale nic to nie pomogło.
-
powyżej katalogu public_html [tam gdzie jest sklep]
-
zrobiłem tych katalogów tmp chyba z 5 w różnych katalogach (i istnieją wszystkie - mam nadzieję, że sobie nie przeszkadzają :) ) w załączniku pokazuję dwa - jeden w katalogu obok domeny sklepu, a drugi w domenie sklepu, obok katalogu public_html (powyżej plików presty - bo to chyba o to chodziło) - ale rezultat się nie zmienia
-
podejrzewam zatem, że to co wskazałem wcześniej użytkownik będący "właścicielem pliku" np www-data nie ma dostępu [możliwości] tworzenia nowych plików [podczas uploadu] czyli czy katalogi maja 0755 a pliki 0644?
-
wszystkie katalogi tmp maja 0777 - dalej błąd wewnętrzny :(
-
nie chodzi o chmod tylko o użytkownika podpiętego pod skrypty robiące np upload plików np. www-data
ściągnij sobie jakis formularz z uploadem i zobacz czy będziesz w stanie załadować plik, a następnie go uruchomić
-
Dzięki za pomoc i poświęcony czas - ale to już przekracza moją wiedzę informatyczną. WWW-data, formularz z uploadem - to już dla mnie abstrakcja :) Myślałem że rozwiązanie będzie prostsze. Na szczęście po wgraniu na serwer modułu rozpakowanego, taki moduł daje się normalnie instalować i tak chyba na razie pozostanie. Jak przestanie całkiem działać to najwyżej zgłoszę się po płatną usługę programistyczną :)
Jeszcze raz dzięki, że chciało ci się nad tym zastanawiać.