Seite 1 von 1

Fehler in php-Datei "functions_search.php"

Verfasst: 24.10.2003 12:22
von Juergen W.
hallo,

erhalte immer wieder einen timeout-fehler in der datei "functions_search.php", zeile 62.

den timeout-wert in der php.ini habe ich bereits von 30 auf 60 sekunden erhöht.

der fehler tritt dann auf, wenn ich versuche einen neuen beitrag mit ca. 22kb text zu posten. enthalten sind jede menge sonderzeichen, falls dies eine rolle spielt.

für jede info bzw. hinweis dankbar,
jürgen

Verfasst: 24.10.2003 13:45
von Henne
Was steht denn so in der und um die Zeile 62 an Code?

Verfasst: 24.10.2003 13:51
von Gast
ist die original-datei aus der version 2.0.5. hast ja sicherlich vorliegen. :)

gruß,
jürgen

hier mal ein auszug:
//
// Filter out strange characters like ^, $, &, change "it's" to "its"
//
for($i = 0; $i < count($drop_char_match); $i++)
{
$entry = str_replace($drop_char_match[$i], $drop_char_replace[$i], $entry);
}

if ( $mode == 'post' )
{
$entry = str_replace('*', ' ', $entry);

// 'words' that consist of <3 or >20 characters are removed.
$entry = explode(' ', $entry);
for ($i = 0; $i < sizeof($entry); $i++)
{
$entry[$i] = trim($entry[$i]);
if ((strlen($entry[$i]) < 3) || (strlen($entry[$i]) > 20))
{
$entry[$i] = '';
}
}
$entry = implode(' ', $entry);
}

if ( !empty($stopword_list) )
{
for ($j = 0; $j < count($stopword_list); $j++)
{
$stopword = trim($stopword_list[$j]);

if ( $mode == 'post' || ( $stopword != 'not' && $stopword != 'and' && $stopword != 'or' ) )
{
$entry = str_replace(' ' . trim($stopword) . ' ', ' ', $entry);
}
}
}

if ( !empty($synonym_list) )
{
for ($j = 0; $j < count($synonym_list); $j++)
{
list($replace_synonym, $match_synonym) = split(' ', trim(strtolower($synonym_list[$j])));
if ( $mode == 'post' || ( $match_synonym != 'not' && $match_synonym != 'and' && $match_synonym != 'or' ) )
{
$entry = str_replace(' ' . trim($match_synonym) . ' ', ' ' . trim($replace_synonym) . ' ', $entry);
}
}
}

return $entry;
}

function split_words(&$entry, $mode = 'post')
{
// If you experience problems with the new method, uncomment this block.
/*
$rex = ( $mode == 'post' ) ? "/\b([\w±µ-ÿ][\w±µ-ÿ']*[\w±µ-ÿ]+|[\w±µ-ÿ]+?)\b/" : '/(\*?[a-z0-9±µ-ÿ]+\*?)|\b([a-z0-9±µ-ÿ]+)\b/';
preg_match_all($rex, $entry, $split_entries);

return $split_entries[1];
*/
$split_entries = array();
$split = explode(' ', $entry);
for ($i = 0; $i < count($split); $i++)
{
if (trim($split[$i]) != '')
{
$split_entries[] = trim($split[$i]);
}
}

return $split_entries;
}

function add_search_words($mode, $post_id, $post_text, $post_title = '')
{
global $db, $phpbb_root_path, $board_config, $lang;

$stopword_array = @file($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . "/search_stopwords.txt");
$synonym_array = @file($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . "/search_synonyms.txt");

$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));

$word = array();
$word_insert_sql = array();
while ( list($word_in, $search_matches) = @each($search_raw_words) )
{
$word_insert_sql[$word_in] = '';
if ( !empty($search_matches) )
{
for ($i = 0; $i < count($search_matches); $i++)
{
$search_matches[$i] = trim($search_matches[$i]);

if( $search_matches[$i] != '' )
{
$word[] = $search_matches[$i];
if ( !strstr($word_insert_sql[$word_in], "'" . $search_matches[$i] . "'") )
{
$word_insert_sql[$word_in] .= ( $word_insert_sql[$word_in] != "" ) ? ", '" . $search_matches[$i] . "'" : "'" . $search_matches[$i] . "'";
}
}
}
}
}

Verfasst: 24.10.2003 13:53
von Henne
Mach doch mal nen Update auf die 2.0.6
Fixed long post time issue
Ich weiß zwar nicht, ob es das ist, aber könnte ja sein.

Verfasst: 24.10.2003 14:14
von Juergen W.
hmm, wie sehe ich denn, ob ich in meinem Forum irgendwelche Erweiterungen verwendet werden? Also Mods und dergleichen...

Gruß,
Jürgen

Verfasst: 24.10.2003 14:16
von Leuchte
wenn es dein forum ist und du nichts eingebaut hast, kannst du davon ausgehen, das es standard ist

Verfasst: 24.10.2003 14:17
von Gast
tja, genau das ist das problem. ich hab´s nich in betrieb genommen, sondern betreue das ganze jetzt nur. :)

Verfasst: 24.10.2003 14:37
von Henne
Machs platt uns dann siehst du es :D

Ne, vergleich doch einfach. Wenn du von den Funktionen her mehr hast, als z.B. hier, dann werden wohl einige MODs drin sein.

Sonst poste mal nen Link zu deinem Board und wir überfliegen das mal und schauen, ob man schon was erkennt