To jest tylko wersja do druku, aby zobaczyć pełną wersję tematu, kliknij TUTAJ
phpBB2 by Przemo
Support forów phpBB2 modified by Przemo

Wersje 1.9 i starsze - Forum a PHP 5.0.5

rzerzych - 19-09-2005, 15:08
Temat postu: Forum a PHP 5.0.5
Czy chodzi u kogoś bez problemów forum na PHP 5.0.5?
Mi po zmianie wersji (nic innego się nie zmieniło) wyawala skrypt posting.php z błędem (już tu poruszanym):

Fatal error*: Only variables can be passed by reference in */home/intranet/public_html/intranet/posting.php* on line *976*

Jeszcze wszystkich rzeczy nie sprawdziłem, więc nie wiem czy nowy Pehap jeszcze coś komplikuje.
W 5.0.4 jest problem ze ściąganiem załączników (idzie tylko 2MB, reszta obcięta), wyjdzie na to, że trzeba się cofać z wersją jeszcze bardziej do tyłu.

raijn - 19-09-2005, 20:45

Niestety potwierdzam... Ten sam blad, ta sama linijka. Nie chce zabrzmiec jak sep (a pewnie zabrzmie), ale czy jest szansa ze w najblizszym czasie wyjdzie wersja tego forum pod php 5.0.5?

Ewentualnie czy jest jakis sposob, zeby samemu przystosowac samodzielnie phpBB by Przemo v.1.9.5 do owej wersji php?

Z gory dzieki za odpowiedz.

Widmo - 19-09-2005, 21:34

no niestety, ciezko chyba bedzie... trzeba czekac az albo Przemo cos wymodzi albo jak wypuscza cos na phpBB.com

swoja droga kto u was juz php 5.0.5 na serwer wrzucil :/

raijn - 19-09-2005, 22:31

Dzieki za szybka odpowiedz. No to teraz trzeba cierpliwie czekac na ruch panow z phpBB lub Przema:)

Php 5.0.5 wrzucil admin serwera LM Internet, wlasnie negocjuje powrot do poprzedniej zainstalowanej wersji, modlmy sie o to zeby przystal na moja prosbe (mysle, ze jest na to szansa, zwazywszy ze do tej pory nie bylo najmniejszych problemow z czymkolwiek, ani zeby cokolwiek zalatwic). Jeszcze raz thx za odpowiedz.

Edit:
Hehe i udalo sie. Napisalem do Admina serwera (w tym wypadku za szybkosc dzialania trzeba walnac z wielkiej litery) i ten od reki zmienil na wczesniejsza wersje php (5.0.4) na ktorej forum (v1.9.5) smiga az milo (zalaczniki wylaczone).

rzerzych - 20-09-2005, 12:31

Na phpBB.com też się z tym borykają i najczęściej odpowiedź jest taka, żeby zjechać do PHP4 bo forum jak na razie nie wspiera w pełni 5. Są też konkrety ominięcia tego, ale u mnie generują wywalenie się w pliku functions_post.php i na razie nie doszedłem co jest nie tak.
Piszę informacyjnie, może jakiś admin zanim będzie jechał z nowymi wersjami PHP w góre, to przeczyta i się wstrzyma. Ja mam komfort bo poki co z serwera nikt inny nie korzysta.

Przemo - 20-09-2005, 14:02

E tam... daj mi dane do konta na email, napisz ze chodzi o php5 i napisz w jakich miejscach sie tak pojawia. Trzeba to zrobic.
rzerzych - 20-09-2005, 17:00

Niestety moje forum chodzi na intranecie i nie da rady sie dobić do serwera z zewnątrz, może ktoś z inny z tą wersją PHPa i tym problemem mógłby pomóc.
Tu jest jedna z wersji rozwiązania problemu z oryginalnego phpbb (przez zastosowanie tymczasowych zmiennych, zamiast ładowania bezpośrednio w zapytanie):
http://www.phpbb.com/phpB...assed+reference
Oczywiście w wersji Przema modyfikowany kod jest w innych linijkach. W każdym razie, po wprowadzeniu zmian błąd w pliku posting.php znika, natomiast przy dodawaniu nowego tematu sypie się fragment w functions_post.php. Trzeba to zobaczyć na żywo na jakimś serwerze.

Falken - 21-09-2005, 11:48

To rozwiązanie działa, ale trzeba trochę więcej pozmieniać.
Dokładniej to:

includes/functions_search.php

i tutaj zamienić linijki:

search_raw_words = array();
$search_raw_words['text'] = split_words(clean_words('post', $post_text, $stopword_array, $synonym_array));
$search_raw_words['title'] = split_words(clean_words('post', $post_title, $stopword_array, $synonym_array));


na

$search_raw_words = array();
$tempA= clean_words('post', $post_text, $stopword_array, $synonym_array);
$search_raw_words['text'] = split_words($tempA);
$tempB= clean_words('post', $post_title, $stopword_array, $synonym_array);
$search_raw_words['title'] = split_words($tempB);

@set_time_limit(0);


i w

posting.php

w dwóch miejsach:

submit_post($mode, $post_data, $return_message, $return_meta, $forum_id, $topic_id, $post_id, $poll_id, $topic_type, $bbcode_on, $html_on, $smilies_on, $attach_sig, $bbcode_uid, str_replace("\'", "''", $username), str_replace("\'", "''", $subject), str_replace("\'", "''", $subject_e), str_replace("\'", "''", $message), str_replace("\'", "''", $poll_title), $poll_options, $poll_length, $max_vote, $hide_vote, $tothide_vote, str_replace("\'", "''", $user_agent), $msg_icon, $msg_expire, str_replace("\'", "''", $topic_color), $post_approve, $is_mod, $is_jr_admin);

na


$temp1= str_replace("\'", "''", $username);
$temp2= str_replace("\'", "''", $subject);
$temp3= str_replace("\'", "''", $subject_e);
$temp4= str_replace("\'", "''", $message);
$temp5= str_replace("\'", "''", $poll_title);
$temp6= str_replace("\'", "''", $user_agent);
$temp7= str_replace("\'", "''", $topic_color);

submit_post($mode, $post_data, $return_message, $return_meta, $forum_id, $topic_id, $post_id, $poll_id, $topic_type, $bbcode_on, $html_on, $smilies_on, $attach_sig, $bbcode_uid, $temp1, $temp2, $temp3, $temp4, $temp5, $poll_options, $poll_length, $max_vote, $hide_vote, $tothide_vote, $temp6, $msg_icon, $msg_expire, $temp7 , $post_approve, $is_mod, $is_jr_admin);


Nie podaję numerów lini, bo są różne wersje obu plików. Najlepiej po prostu wyszukać edytorem odpowiednie miejsca.


Źródło tej informacji jest tutaj

Przemo - 21-09-2005, 15:29

Panowie, dajcie mi na email dane do konta FTP to to zrobie raz a porzadnie
Falken - 23-09-2005, 08:19

Cytat:
Fatal error: Only variables can be passed by reference in /mnt/storage/users/t/r/z/trzeciabegim4/search.php on line 311


No faktycznie, wywala się - sprawdziłem wyszukiwanie tylko po autorze, a nie sprawdzałem po słowach kluczowych - ale już nie ma problemu. Mozna to załatwić podobnie jak prędzej.

Już pracuję na rozwiązaniem

[ Dodano: 23-09-2005, 08:42 ]
No już potestowałem i u mnie działa:
trzeba podmienić w
search.php


$split_search = ( !strstr($multibyte_charset, $lang['ENCODING']) ) ? split_words(clean_words('search', stripslashes($search_keywords), $stopword_array, $synonym_array), 'search') : split(' ', $search_keywords);

na

$temp1 = stripslashes($search_keywords);
$temp2 = clean_words('search', $temp1, $stopword_array, $synonym_array);

$split_search = ( !strstr($multibyte_charset, $lang['ENCODING']) ) ? split_words($temp2, 'search') : split(' ', $search_keywords);

wojtas2pl - 03-10-2005, 23:04

Falken napisał/a:
Cytat:
Fatal error: Only variables can be passed by reference in /mnt/storage/users/t/r/z/trzeciabegim4/search.php on line 311



No już potestowałem i u mnie działa:
trzeba podmienić w
search.php


$split_search = ( !strstr($multibyte_charset, $lang['ENCODING']) ) ? split_words(clean_words('search', stripslashes($search_keywords), $stopword_array, $synonym_array), 'search') : split(' ', $search_keywords);

na

$temp1 = stripslashes($search_keywords);
$temp2 = clean_words('search', $temp1, $stopword_array, $synonym_array);

$split_search = ( !strstr($multibyte_charset, $lang['ENCODING']) ) ? split_words($temp2, 'search') : split(' ', $search_keywords);



no zrobilemjak napisales i jest tak jak mowisz :-) dziala nie wywala zadnego bledu aleeeeeeeeee

wyswietla pusty temat mianowice wyswietla sie nic tylko moj pdpis :P :P a dlaczego to nie wiem

jakies pomysły ?????

Falken - 04-10-2005, 07:39

wojtas2pl napisał/a:
wyswietla pusty temat mianowice wyswietla sie nic tylko moj pdpis


Daj zrzut ekranu, bo nie wiem czy nic oznacza, że nic nie znalazł, czy wystęuje jakiś błąd.

czarnymotyl - 05-10-2005, 18:23

Falken, zrobiłem tak jak powiedziałeś, na poprzedniej stronie iwciaz ten sam błąd

Kod:
Fatal error: Only variables can be passed by reference in /home/p/o/e/poezja-serca/www/posting.php on line 988 


EDIT: Jest ok, edytowałem, wiecej nie musze :) narazie "szukaj" nie potrzebuje, bo robie forum poetyckie... :-)
pozdrawiam

EDIT2: Nie mozna edytowac teraz swoich wypowiedzi :(

Falken - 06-10-2005, 13:33

czarnymotyl napisał/a:
Falken, zrobiłem tak jak powiedziałeś, na poprzedniej stronie iwciaz ten sam błąd

Kod:
Fatal error: Only variables can be passed by reference in /home/p/o/e/poezja-serca/www/posting.php on line 988 


EDIT: Jest ok, edytowałem, wiecej nie musze :) narazie "szukaj" nie potrzebuje, bo robie forum poetyckie... :-)
pozdrawiam

EDIT2: Nie mozna edytowac teraz swoich wypowiedzi :(


Najprawdopodobniej masz inną wersję pliku posting.php (możliwe, że masz więcej modów doinstalowanych) z większą ilością wywołań funkcji str_replace. Musisz dla każdego wywołania tej funkcji w submit_post utworzyć zmienną tymczasową - tak jak podałem w przykładzie.

czarnymotyl - 06-10-2005, 14:12

no wiesz, sciagałem paczke ze strony głowne "przema" ale postaram sie to jakoś zrobic, jak tylko wroce ze szkoły :)


Powered by phpBB modified by Przemo © 2003 phpBB Group