PDA

Zobacz pełną wersję : Problem z instalatorem komponentów



tbalc
22-02-2007, 20:44
Wszystko dotąd było dobrze, a teraz jeśli chcę zainstalować komponent to mam błąd: Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 393216 bytes) in /srv/www/htdocs/web1485/html/includes/domit/xml_domit_lite_parser.php on line 921
A strona w trybie tekstowym, bez ikonek, linii, kolorów, obrazków. Brak w związku z tym możliwości np: odinstalowania czegokolwiek. Storny instalacji modułów, dodatków, szabloów i języków są OK. A ta jedna, przecież podobna do tamtych zupełnie straciła wszystkie elementy grafiki. Właściwie z grafiki zostały przyciski: Przeglądaj, Wczytaj plik i zainstaluj i Instaluj. Nadgrałem powtórnie pliki katalogu administrator. Nic nie pomogło.

Proszę o pomysły...

Dylek
22-02-2007, 22:31
Bylo na forum - limit pamieci w php.ini serwera

tbalc
23-02-2007, 18:53
I owszem. znalazłem. Plik php.ini jest dla mnie niedostępny w katalgu etc. Joomla raportuje w informacji o systemie 16M. Z dyskusji na forum wynika, że kłopoty są przy 8M. Komunikat o braku pamięci nie zawsze się pojawia. Czasem strona się otwiera bez grafiki i bez komunikatu o błędzie przydziału pamięci.

tbalc
25-02-2007, 00:19
Doszedłem do następujących rezultatów moich testów:
1. Nie jest to błąd za małego limitu pamięci.
2. Jest coś niezrozumiałego w procesie przetwarzania plików "component".xml.
Otóż kod programu zapisanego w pliku components.php z katalogu administrator/components/com_installer/component analizuje po kolei pliki xml zarejestrowanych komponentów w naszej witrynie. W moim przypadku wykonując (próbując wykonać) analizę pliku zoom.xlm poniższy fragment kodu idzie gdzieś w maliny

if (!$xmlDoc->loadXML( $dirName . '/' . $xmlfile, false, true )) {
continue;
}

powodując właśnie efekt wyświetlanej strony bez grafiki i bez informacji o zarejestrowanych w joomli komponentach. Wystarczyło zmienić nazwę pliku zoom.xml na na przykład zoom.xml.org i strona pojawiała się z grafiką i z listą zarejestrowanych komponentów. Oczywiście ZOOM był na liście uwzględniony, bo jest w bazie danych w tabeli jos_components parent = 0 i iscore = 0, ale już bez informacji zawartych w pliku zoom.xml. Wgranie orginalnego nie pomaga. Plik jest na oko OK. Nie jest to przecież trudne do skontrolowania.
Może jakieś pomysły, podpowiedzi co może wpływać na błędną analizę pliku zoom.xml. Prawa są na pewno Ok, bo takie same jak innych zbiorów, których analiza przechodzi bez kłopotów.

tbalc
25-02-2007, 13:40
Dalsze śledztwo i poszukiwanie winnego wykazało, że jest nim za duży plik zoom.xml, lub raczej źle napisana procedura parsująca ten plik. Jest zbyt pamięciożerna i nie daje sobie rady z jego rezebraniem na części składowe. Po usunięciu z pliku zoom.xml sekcji files i images z zawaartością, wraz z nimi zniknął problem.

Teraz pytanie gdzie znaleźć lepszą wersję parsera plików xml? Czy przejście na joomle 1.0.12 jest dobrym pomysłem?

zwiastun
25-02-2007, 14:01
Nie chodzi o ustawienie dopuszczalnegor rozmiaru przesyłanych danych [post_max_size] ani o dopuszczalny rozmiar plików [upload_max_file_size] , ale o ustawienie [max_execution_time]. Oczywiście, możesz mieć słuszność, że parser został nie najlepiej skonstruowany. Ale z tego, co wiem, daje sobie spokojnie radę z o wiele większymi plikami niż instalator galerii zoom.

tbalc
26-02-2007, 10:35
Też myślę, że nie jest to do końca błąd parsera bo odbiło by się znacznie większym echem, a nie pojedyńczym przypadkiem (niestety moim). max_execution_time też chyba nie wchodzi w grę, bo przy oryginalnym, pełnym pliku zoom.xml strona pojawia się znacznie szybciej (nie dochodzi do prezentacji grafiki na stronie) niż w przypadku okrojonego pliku zoom.xml. Tak mi się przypomniało, że instalując wcześniej moduł pobierający kursy walut ze strony NBP walczyłem z pojawiającym się błędem braku pliku instalacyjnego kursy_NBP.xml w pakiecie instalacyjnym, choć on tam był. Dopiero jak go przeedytowałem wyrównałem wcięcia i zapisałem to go zobaczył i pomyślnie zainstalował. Do dziś tak do końca nie wiem co tak naprawdę pomogło w tym przypadku. Może mając większe doświadczenie spotkałeś się wcześniej z problemami interpretacji plików xml? Moje spotkanie z joomlą zaczęło się w grudniu zeszłego roku i jestem nią zachwycony. To jest dokładnie to czego oczekiwałem rozpoczynając swoją przygodę z budową własnej strony internetowej.

tbalc
26-02-2007, 19:15
Podejmując walkę z bezpieczeństwem joomli i robiąc eksperymenty z chmod doszedłem do stanu, w którym nadałem w końcu 777 wszystkim i wszystkiemu. Kłopot z instalatorem komponentu jak ręką odjął. Taka ciekawostka z moich doświadczeń dotychczasowych. Są w świecie joomli rzeczy, o którym się filozofom nie śniło...

isteata
26-02-2007, 23:25
Też myślę, że nie jest to do końca błąd parsera bo odbiło by się znacznie większym echem, a nie pojedyńczym przypadkiem (niestety moim).Oj nie tylko Twoim, niestety. Wersja Joomla 1.0.12 z pewnością by tu nie pomogła, bo mam wersję 1.0.12 PE i identyczny problem jak Ty

Nadałem wszystkiemu uprawnienia 777 tak jak Ty, ale bez żadnego efektu poprawy. Może kwestia serwera?

A jaką masz wersję tego ostatnio bardzo niedopracowanego zOOm'a? Bo ja mam zOOm Media Gallery 2.5.1 RC4 (tę z pakietu Joomla 1.0.12.a PE).

No i chciałem Ci podziękować za podzielenie się informacjami o Twoich bojach z tym zOOmem. Sam z pewnością nie wpadłbym na to co robić by jakoś przywrócić wyświetlanie komponentów w instalatorze komponentów Joomla. Jeszcze raz olbrzymia wdzięczność za Twoje wskazówki dla Ciebie. Oby takich użytkowników Joomla jak Ty było jak najwięcej!