PDA

Zobacz pełną wersję : Nie można zapisać opcji w dodatkach DJ-Classifieds i DJ-Catalog2



annagt
26-11-2014, 09:23
Witam,
czy ktoś spotkał się z tym samym problemem? Po kliknięciu przycisku "Zapisz" czy "Zapisz i zamknij" w opcjach tych dwóch dodatków wywala mnie nagle do opcji głównych joomli beż żadnego komunikatu. Oczywiście opcje się nie zapisały.
Posiadam Joomlę 3.3.6, magic quotes wyłączone

noras
26-11-2014, 09:33
Co to za hosting? O kiedy problem występuje? Robiłeś aktualizację może?

annagt
26-11-2014, 09:47
to chyba wina hostingu.. właśnie sprawdziłam
strona ma być na az.pl - tutaj nie działa zapisywanie, ustawione jest php wersji 5.3.28, natomiast na localhoście mam php 5.4.9, korzystam z Wampserver i wszystko jest ok

edit: robiłam aktualizację z 3.1, ale wtedy też nie działało

noras
26-11-2014, 10:07
Rekomendowana wersja PHP dla J3.3 to PHP 5.40, nie mogę znaleźć wymagań DJ-extension w kwestii wersji PHP, ale nasunęło mi się czy nie masz przypadkiem bety Dj-Classfields?

Spróbuj zmienić wersje PHP na hostingu, jeśli masz betę komponentu to możesz spróbować im napisać być może to jakiś bug. Oczywiście pod warunkiem że zmiana wersji php na wyższą spowoduje poprawę.

Hmm a spróbuj ustawić na localu taką samą wersję php jak na hostingu? :) Będziesz wiedziała wtedy dokładnie gdzie leży problem.

annagt
26-11-2014, 10:28
jak zmieniam na php 5.4.23 to się strona wysypuje (pojawiał się już ten problem na forum ale nadal nie wiem co z nim zrobić)
poniżej błędy:
Warning: preg_replace_callback(): Requires argument 2, '', to be a valid callback in /sciezka/libraries/joomla/filter/input.php on line 706
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2325696689 bytes) in /sciezka/libraries/joomla/filter/input.php on line 713

dodatek mamy pełny, gdyż wykupiliśmy szablon z tym komponentem (+subskrypcja na 1mc), oczywiście napisałam w tej sprawie do właścicieli, lecz nadal czekam na odpowiedź.. a nie mogę bezczynnie czekać ;)
też nigdzie nie widzę wymagań php

z localem to dobry pomysł, zaraz sprawdzę

annagt
26-11-2014, 11:39
Hmm a spróbuj ustawić na localu taką samą wersję php jak na hostingu? :) Będziesz wiedziała wtedy dokładnie gdzie leży problem.

Na localu z php 5.3 zapisywanie opcji działa normalnie - w czym może tkwić problem?

michalo
27-11-2014, 07:29
Cześć,

odpowiedzi pod cytatami - w trochę zmienionej kolejności :)


oczywiście napisałam w tej sprawie do właścicieli, lecz nadal czekam na odpowiedź.. a nie mogę bezczynnie czekać ;)
też nigdzie nie widzę wymagań php

Niestety nie otrzymałem (dział DJ-Catalog2) żadnego zgłoszenia w podobnej sprawie. Do jakiego działu zgłaszałaś problem?

Co do wymagań, wszystko jest opisane na stronie podlinkowanej w opisach naszych dodatków:
http://dj-extensions.com/faq/dj-catalog2-faq/what-are-system-requirements
http://dj-extensions.com/faq/dj-classifieds-faq/what-are-system-requirements


Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2325696689 bytes) in /sciezka/libraries/joomla/filter/input.php on line 713


Ten błąd informuje, że limit pamięci na serwerze (parametr memory_limit) został przekroczony i to znacznie, o ponad 2GB . Oraz że ów limit został przekroczony prawdopodobnie w momencie filtrowania jakieś zmiennej - nic poza tym.


Po kliknięciu przycisku "Zapisz" czy "Zapisz i zamknij" w opcjach tych dwóch dodatków wywala mnie nagle do opcji głównych joomli beż żadnego komunikatu

Przyznaję, że jest to bardzo dziwna sprawa, która defacto tyczy się Joomlowego komponentu com_config. Proszę więc upewnij się czy problem czasem nie występuje przy zapisywaniu ustawień innych komponentów (Artykuły, Linki, etc.).
Zastanawiam się również czy może same ustawienia komponentów nie przyczyniają się do błędu. Czy korzystasz z ust. domyślnych, czy może zmieniałaś coś w konfiguracji? Może w jednym z parametrów podałaś bardzo długi tekst?
Sprawdź również proszę ustawienia serwera pod kątem limitów zmiennych w tablicach GET/POST/REQUEST. Są to*:



max_input_vars
suhosin.post.max_vars
suhosin.get.max_vars
suhosin.request.max_vars


*) Nie wszystkie muszą być zdefiniowane - zależne jest to od serwera. Ale raczej standardem jest że każda z tych zmiennych miała wartość "1000" lub więcej. 500 to raczej minimum zważywszy na ilość dostępnych parametrów. Jeśli jest mniej to skrypt otrzymuje niepełne, wręcz obcięte dane z formularza i w zależności od tego w którym miejscu te dane zostały obcięte, możemy spodziewać się przeróżnych błędów.

P. S. W razie gdyby nie udało Ci się rozwiązać problemu, ktoś od nas na help-desku z pewnością pomoże, ale od razu uprzedzam, że pierwsze o co poprosimy to dostęp do zaplecza oraz FTP, bo dalsze dywagacje bez zerknięcia w kod to wróżenie z fusów.

AKTUALIZACJA: Odnośnie drugiego błędu proponuję lekturę: http://forum.joomla.pl/showthread.php?74825-ten-sam-fatal-error-na-3-takich-samych-instalacjach-Joomla

noras
27-11-2014, 10:27
http://dj-extensions.com/faq/dj-cata...m-requirements
http://dj-extensions.com/faq/dj-clas...m-requirements

@michalo Dobrze wiedzieć że te info też są na stronie :)



Warning: preg_replace_callback(): Requires argument 2, '', to be a valid callback in /sciezka/libraries/joomla/filter/input.php on line 706
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2325696689 bytes) in /sciezka/libraries/joomla/filter/input.php on line 713

Gdyby włączyć konsole błędów na maximum to pewnie by powiedziała jeszcze więcej.

michalo
27-11-2014, 10:50
@noras: No problem.

Co do błędów, pierwszy ma poziom "Warning", więc zakładam, że raportowanie błędów jest już dość wysoko ustawione i więcej "od serwera" się nie dowiemy.

Intuicja mi podpowiada w tym przypadku, że coś jest nie tak z serwerem, ale ponieważ chyba nigdy nie miałem styczności z hostingiem AZ, ani z podobną sytuacją, to szczerze nie mam pomysłu co może być nie tak. Ciekawi mnie za to niezmiernie co takiego alokuje ponad 2GB RAMu. Pewnie jakaś pętla lub rekursja się nie może skończyć.

noras
27-11-2014, 11:26
@michalo: Mnie również zastanawia jakim cudem nie wywala się na loclahost? Bo przecież (chyba) żaden localhost nie oferuje takich parametrów a na pewno domyślnie nie są one aż tak wystrzelone w kosmos.

Nie posiadam tyle tajemnej wiedzy na temat serwerów aby coś więcej podpowiedzieć i wymyślić :)

annagt
27-11-2014, 11:36
@michalo, dziękuję za wyczerpującą odpowiedź!
Problem zgłaszałam do dzialu DJ-Classifieds ponieważ na początku tylko w tym komponencie zauważyłam, że coś jest nie tak.
Co znaczy na początku, już tłumaczę.. wykupiliśmmy szablon na joomla-monster.pl, dostaliśmy paczkę demo, którą wgrałam na serwer i od samego początku nie mogłam zapisać opcji. Nic nie zmieniałam, dla pewności powtórzyłam to jeszcze raz przed chwilą. Dodatek DJ-Catalog2 wgrałam później żeby tylko sprawdzić czy działa.
Nie wiem w czym jest problem, ale na serwerze lokalnym wszystko działa jak należy, zarówno przy php 5.3 i 5.4 jak pisałam wcześniej.

Dostałam wczoraj odpowiedź z działu DJ-Classifieds, żeby zwiększyć na serwerze wartość zmiennej max_input_vars, nie wiem czy dobrze zrobiłam, ale poniżej można zobaczyć efekt: (czy w tym przypadku mam się zgłosić do hostingodawcy?)

max_input_vars - local value 5000, master value 1000
suhosin.post.max_vars - 200
suhosin.get.max_vars - 100
suhosin.request.max_vars - 200

Odpisałam również na tamte wskazówki z pytaniem, możliwe, że dziś dostanę jakąś odpowiedź zwrotną.
Z tego wszystkiego wygląda, że to problem z hostingiem - pisałam też do nich, ale nadal czekam..

W przypadku wymagań to przyznaję mój błąd, nie zauważyłam ich na stronie :)

michalo
27-11-2014, 11:42
@michalo: Mnie również zastanawia jakim cudem nie wywala się na loclahost? Bo przecież (chyba) żaden localhost nie oferuje takich parametrów a na pewno domyślnie nie są one aż tak wystrzelone w kosmos.

Moim zdaniem jest wręcz odwrotnie. XMAPy, WAMPy, etc. są wstępnie całkiem przyzwoicie skonfigurowane (nie mówię tu o bezpieczeństwie oczywiście), więc czemu na dobrym komputerze miałyby źle działać, jeśli jedyne obciążenie serwera generujemy sami? To właśnie tanie współdzielone (nie wszystkie oczywiście) hostingi mają to do siebie, że mocno przykręcają śrubę, aby na jednym serwerze upchnąć jak najwięcej klientów.

annagt
27-11-2014, 11:56
ale co w takim razie zrobić?
jeśli się uda to odpalimy stronę na innym hostingu i wtedy zobaczymy co się będzie działo, póki co muszę działać na lokalu żeby móc zmienić ustawienia...
mając nadzieję, że się nic nie wysypie po przeniesieniu :D

michalo
27-11-2014, 11:59
@michalo, dziękuję za wyczerpującą odpowiedź!

Dostałam wczoraj odpowiedź z działu DJ-Classifieds, żeby zwiększyć na serwerze wartość zmiennej max_input_vars, nie wiem czy dobrze zrobiłam, ale poniżej można zobaczyć efekt: (czy w tym przypadku mam się zgłosić do hostingodawcy?)

max_input_vars - local value 5000, master value 1000
suhosin.post.max_vars - 200
suhosin.get.max_vars - 100
suhosin.request.max_vars - 200



Nie jestem pewien czy dobrze zinterpretowałem. Powyższe wartości to ustawienia na Twoim serwerze czy sugerowane przez kolegę od DJ-Classifieds?
Zakładam, że to pierwsze, zatem jak najbardziej należy zwiększyć (podwoić czy nawet potroić) wartości tych zmiennych:

suhosin.post.max_vars
suhosin.request.max_vars

Sam DJ-Catalog2 ma ok. 204 parametry, a do tego należy doliczyć kilka(naście) pól formularza komponentu com_config, więc limit 200 zmiennych POST/REQUEST jest jak najbardziej przekraczany przy próbie zapisania ustawień.

P.S. Jeśli Twój hosting na to pozwala, być może w pliku php.ini lub .htaccess uda Ci się podnieść te limity.

annagt
27-11-2014, 12:27
@michalo bardzo dziękuję, działa! :)

zmieniłam parametry na poniższe:
max_input_vars = 5000
suhosin.request.max_vars = 2000
suhosin.post.max_vars = 2000

nie będzie to za dużo?

zauważyłam, że musiałam tutaj zrobić to w pliku .user.ini


edit: ale i tak po zmianie php na 5.4 w az, strona się wywala.. błędy takie jak wcześniej, ciekawe czemu

michalo
27-11-2014, 12:40
2000 to już kosmos, ale może być.

Masz pewność, że te zmiany zostały zaakceptowane przez serwer? Również zapleczu (czyli podkatalogu /administrator/)? Z reguły trzeba wrzucać oddzielne pliki z ust. do katalogu głównego i do zaplecza.

Jeśli dalej występują błędy to proponuję dalszą rozmowę przenieść na help-desk i przesłać dostępy do strony/serwera. Możesz założyć ticket w moim dziale (DJ-Catalog2) i tam wszystko wrzucić a ten drugi ticket zamknąć.

annagt
27-11-2014, 14:31
co to znaczy czy mam pewność, że zmiany zostały zaakceptowane przez serwer?

poniżej to co pokazuje phpinfo:
max_input_vars - local value 5000, master value 1000
suhosin.post.max_vars - local 1000, master 200
suhosin.request.max_vars - local 1000, master 200

Póki co na zapleczu wszystko działa dobrze, ale nie wrzucałam osobnego pliku do katalogu zaplecza

michalo
27-11-2014, 14:39
Przepraszam, nie doczytałem w poprzednim poście, że już działa :) i kombinowałem dalej co może być nie tak.

A chodziło mi to, że na niektórych serwerach jeśli dodasz php.ini/user.ini itd. do głównego katalogu to nie będzie on miał wpływu na skrypty wykonywane w zapleczu. I wówczas trzeba tworzyć dwa pliki - w głównym i podkatalogu /administrator.

Co do PHP 5.4, prześledź wątek z tego forum, który podlinkowałem w pierwszym poście. Tam było wyjaśnione, że winowajcą są ustawienia Acceleratora przy PHP 5.4. Ten sam hosting co Twój.

annagt
28-11-2014, 09:18
Dobrze wiedzieć, dzięki za informację :)
wątek na pewno jeszcze raz przejrzę dokładnie, bo dostałam odpowiedź od az, że mam dostosować stronę do poprawnego działania dla wersji php 5.4 lub korzystać z 5.3...