Nach Umzug des Boards noch ein "kleines" Problem.

Eine Neuinstallation von phpBB 2.0 wird auf phpBB.de nicht mehr unterstützt.
Siehe auch Entwicklungs-Ende von phpBB 2.0 - Auswirkungen auf phpBB.de
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.

Eine Neuinstallation von phpBB 2.0 wird auf phpBB.de nicht mehr unterstützt.
Siehe auch Entwicklungs-Ende von phpBB 2.0 - Auswirkungen auf phpBB.de
Gesperrt
Brennerlein
Mitglied
Beiträge: 36
Registriert: 09.08.2006 18:11

Nach Umzug des Boards noch ein "kleines" Problem.

Beitrag von Brennerlein »

Moin moin,

nach vielen Lesen der Hilfen und einiger Beiträge habe ich leider doch noch ein Problem.

Mein Ziel:
-Umzug einer Domäne & Webspace


Mein Board liegt auf Webspace "A" und Domäne "A" und soll auf Webspace "B" mit Domäne "B" umziehen. Zu Testzwecken habe ich Domäne "C" eingerichtet.

Gestern habe ich dann die ersten Versuche des Umzuges übernommen. Die Standardanleitung im Board ist leider weniger gut wegen mangelnder Berechtigung beim importieren per mysql.
Ich bin dann also folgendermaßen vorgegangen:

-auf Domäne A mysqldumper installiert & Backup durchgeführt
-auf Domäne C Datenbank erstellt
-auf Domäne C Forum installiert
-auf Domäne C mysqldumper installiert & Backup von Domäne A eingespielt
-auf Domäne C die alten Daten komplett von Domäne A rüberkopiert und vorher gesicherte config.php wieder rauf kopiert
-auf Domäne C myphpdoktor installiert, es wurde aber keine Fehler gefunden

Soweit hat nun alles geklappt. Das Board springt nicht mehr (wie bei den Versuchen vorher) beim Login auf die alte Datenbank um. Alles sieht aus wie vorher. Login geht auch wunderbar aber sobald man aber einen Beitrag schreiben oder editieren will kommt über dem Board ein wilder Text.
Dadrunter ist das Board und man kann auch ohne Probleme seinen Beitrag verfassen oder erfolgreich editieren.

Hier mal der "wilde" Text:
nasty kludge to remove the username var ... till (if?) // translators update their templates $emailer->msg = preg_replace('#[ ]?{USERNAME}#', '', $emailer->msg); $emailer->assign_vars(array( 'EMAIL_SIG' => (!empty($board_config['board_email_sig'])) ? str_replace('
', "\n", "-- \n" . $board_config['board_email_sig']) : '', 'SITENAME' => $board_config['sitename'], 'TOPIC_TITLE' => $topic_title, 'U_TOPIC' => $server_protocol . $server_name . $server_port . $script_name . '?' . POST_POST_URL . "=$post_id#$post_id", 'U_STOP_WATCHING_TOPIC' => $server_protocol . $server_name . $server_port . $script_name . '?' . POST_TOPIC_URL . "=$topic_id&unwatch=topic") ); $emailer->send(); $emailer->reset(); } } } $db->sql_freeresult($result); if ($update_watched_sql != '') { $sql = "UPDATE " . TOPICS_WATCH_TABLE . " SET notify_status = " . TOPIC_WATCH_NOTIFIED . " WHERE topic_id = $topic_id AND user_id IN ($update_watched_sql)"; $db->sql_query($sql); } } $sql = "SELECT topic_id FROM " . TOPICS_WATCH_TABLE . " WHERE topic_id = $topic_id AND user_id = " . $userdata['user_id']; if (!($result = $db->sql_query($sql))) { message_die(GENERAL_ERROR, 'Could not obtain topic watch information', '', __LINE__, __FILE__, $sql); } $row = $db->sql_fetchrow($result); if (!$notify_user && !empty($row['topic_id'])) { $sql = "DELETE FROM " . TOPICS_WATCH_TABLE . " WHERE topic_id = $topic_id AND user_id = " . $userdata['user_id']; if (!$db->sql_query($sql)) { message_die(GENERAL_ERROR, 'Could not delete topic watch information', '', __LINE__, __FILE__, $sql); } } else if ($notify_user && empty($row['topic_id'])) { $sql = "INSERT INTO " . TOPICS_WATCH_TABLE . " (user_id, topic_id, notify_status) VALUES (" . $userdata['user_id'] . ", $topic_id, 0)"; if (!$db->sql_query($sql)) { message_die(GENERAL_ERROR, 'Could not insert topic watch information', '', __LINE__, __FILE__, $sql); } } } } // // Fill smiley templates (or just the variables) with smileys // Either in a window or inline // function generate_smilies($mode, $page_id) { global $db, $board_config, $template, $lang, $images, $theme, $phpEx, $phpbb_root_path; global $user_ip, $session_length, $starttime; global $userdata; $inline_columns = 4; $inline_rows = 5; $window_columns = 8; if ($mode == 'window') { $userdata = session_pagestart($user_ip, $page_id); init_userprefs($userdata); $gen_simple_header = TRUE; $page_title = $lang['Emoticons']; include($phpbb_root_path . 'includes/page_header.'.$phpEx); $template->set_filenames(array( 'smiliesbody' => 'posting_smilies.tpl') ); } $sql = "SELECT emoticon, code, smile_url FROM " . SMILIES_TABLE . " ORDER BY smilies_id"; if ($result = $db->sql_query($sql)) { $num_smilies = 0; $rowset = array(); while ($row = $db->sql_fetchrow($result)) { if (empty($rowset[$row['smile_url']])) { $rowset[$row['smile_url']]['code'] = str_replace("'", "\\'", str_replace('\\', '\\\\', $row['code'])); $rowset[$row['smile_url']]['emoticon'] = $row['emoticon']; $num_smilies++; } } if ($num_smilies) { $smilies_count = ($mode == 'inline') ? min(19, $num_smilies) : $num_smilies; $smilies_split_row = ($mode == 'inline') ? $inline_columns - 1 : $window_columns - 1; $s_colspan = 0; $row = 0; $col = 0; while (list($smile_url, $data) = @each($rowset)) { if (!$col) { $template->assign_block_vars('smilies_row', array()); } $template->assign_block_vars('smilies_row.smilies_col', array( 'SMILEY_CODE' => $data['code'], 'SMILEY_IMG' => $board_config['smilies_path'] . '/' . $smile_url, 'SMILEY_DESC' => $data['emoticon']) ); $s_colspan = max($s_colspan, $col + 1); if ($col == $smilies_split_row) { if ($mode == 'inline' && $row == $inline_rows - 1) { break; } $col = 0; $row++; } else { $col++; } } if ($mode == 'inline' && $num_smilies > $inline_rows * $inline_columns) { $template->assign_block_vars('switch_smilies_extra', array()); $template->assign_vars(array( 'L_MORE_SMILIES' => $lang['More_emoticons'], 'U_MORE_SMILIES' => append_sid("posting.$phpEx?mode=smilies")) ); } $template->assign_vars(array( 'L_EMOTICONS' => $lang['Emoticons'], 'L_CLOSE_WINDOW' => $lang['Close_window'], 'S_SMILIES_COLSPAN' => $s_colspan) ); } } if ($mode == 'window') { $template->pparse('smiliesbody'); include($phpbb_root_path . 'includes/page_tail.'.$phpEx); } } /** * Called from within prepare_message to clean included HTML tags if HTML is * turned on for that post * @param array $tag Matching text from the message to parse */ function clean_html($tag) { global $board_config; if (empty($tag[0])) { return ''; } $allowed_html_tags = preg_split('/, */', strtolower($board_config['allow_html_tags'])); $disallowed_attributes = '/^(?:style|on)/i'; // Check if this is an end tag preg_match('/<[^\w\/]*\/[\W]*(\w+)/', $tag[0], $matches); if (sizeof($matches)) { if (in_array(strtolower($matches[1]), $allowed_html_tags)) { return ''; } else { return htmlspecialchars(''); } } // Check if this is an allowed tag if (in_array(strtolower($tag[1]), $allowed_html_tags)) { $attributes = ''; if (!empty($tag[2])) { preg_match_all('/[\W]*?(\w+)[\W]*?=[\W]*?(["\'])((?:(?!\2).)*)\2/', $tag[2], $test); for ($i = 0; $i < sizeof($test[0]); $i++) { if (preg_match($disallowed_attributes, $test[1][$i])) { continue; } $attributes .= ' ' . $test[1][$i] . '=' . $test[2][$i] . str_replace(array('[', ']'), array('[', ']'), htmlspecialchars($test[3][$i])) . $test[2][$i]; } } if (in_array(strtolower($tag[1]), $allowed_html_tags)) { return '<' . $tag[1] . $attributes . '>'; } else { return htmlspecialchars('<' . $tag[1] . $attributes . '>'); } } // Finally, this is not an allowed tag so strip all the attibutes and escape it else { return htmlspecialchars('<' . $tag[1] . '>'); } } ?>

Solange das noch so ist will ich den eigentlichen Umzug lieber noch nicht wagen und hoffe auf Hilfe bzw. Lösungsvorschläge.
Benutzeravatar
gloriosa
Mitglied
Beiträge: 13770
Registriert: 04.01.2005 20:23
Wohnort: Landeshauptstadt Erfurt

Re: Nach Umzug des Boards noch ein "kleines" Probl

Beitrag von gloriosa »

Hallo,
diese Reihenfolge
Brennerlein hat geschrieben:-auf Domäne A mysqldumper installiert & Backup durchgeführt
-auf Domäne C Datenbank erstellt
-auf Domäne C Forum installiert
-auf Domäne C mysqldumper installiert & Backup von Domäne A eingespielt
-auf Domäne C die alten Daten komplett von Domäne A rüberkopiert und vorher gesicherte config.php wieder rauf kopiert
-auf Domäne C myphpdoktor installiert, es wurde aber keine Fehler gefunden
ist auf den ersten Blick richtig, entspricht jedoch nicht der Vorgehensweise die in >>> KB:umzug <<< beschrieben ist. :oops:

Du brauchst kein Board auf der neuen Domain vorinstallieren, da Du ja sowohl die Dateien vom alten Webspace als auch die Datenbank mitnimmst. :o

Du ziehst am Besten probeweise gemäß >>> KB:umzug <<< von Domain A nach der Domain C (die auch eine lokale Testumgebung (XAMPP) sein kann ! :wink:) um.
Viele Grüße - gloriosa :D
Die einen schützen sich vor frischem Wind, während die anderen ihn nutzen.
Kein kostenloser MOD-Einbau usw. bzw. Support via PN, Email oder IRC !
Brennerlein
Mitglied
Beiträge: 36
Registriert: 09.08.2006 18:11

Beitrag von Brennerlein »

Mein Mittag brauch noch ´ne Stunde, dann werd ich es mal ohne Neuinstallation versuchen. Trotzdem hilft die Anleitung nicht das Sie eben nicht das Thema behandelt wenn man nicht berechtigt mit mysqladmin die alte Datenbank zu importieren.
Benutzeravatar
gloriosa
Mitglied
Beiträge: 13770
Registriert: 04.01.2005 20:23
Wohnort: Landeshauptstadt Erfurt

Beitrag von gloriosa »

Hallo (soviel Höflichkeit muss sein),
im Normalfall, Ausnahmen bestätigen die Regel :D , hat der Inhaber einer Domain uneingeschränkten Zugangs zu allen Funktionalitäten. :wink:

In einer allgemeingültigen Beschreibung wie >>> KB:umzug <<< sollten nicht von vorn herein schon Sonderfälle behandelt werden. Das verwirrt mehr als es nutzt. :wink:

Im Zweifelsfall gibt es ja dieses Board. :D
Viele Grüße - gloriosa :D
Die einen schützen sich vor frischem Wind, während die anderen ihn nutzen.
Kein kostenloser MOD-Einbau usw. bzw. Support via PN, Email oder IRC !
Brennerlein
Mitglied
Beiträge: 36
Registriert: 09.08.2006 18:11

Beitrag von Brennerlein »

Jetzt hat alles geklappt und das auch ganz fix. Meinen Weg finde ich außerdem für meine Zwecke besser da das alte Forum nicht deaktiviert werden muß bzw. man sich nicht aussperren muß.

Bin jetzt folgendermaßen vorgegangen:

-auf Domäne C eine neue Datenbank erstellt
-lokale config.php angepasst auf neue Datenbank
-Daten des Forums von Domäne A auf Domäne C überspielt
-lokal angepasste config.php auf Domäne C überspielt
-mysqldumper installiert auf beiden Domänen installiert
-auf Domäne A Datenbank gesichert und auf Domäne C wiederhergestellt
-auf Domäne C phpbb-Boarddoktor installiert und damit Verweise der alten Datenbank auf die neue automatisch korrigieren lassen


Bis jetzt funktioniert alles. Werde Domäne C jetzt ausführlich testen. Wenn es keine Fehler gibt ist dann heute Nacht der realle Umzug dran.
Brennerlein
Mitglied
Beiträge: 36
Registriert: 09.08.2006 18:11

Beitrag von Brennerlein »

gloriosa hat geschrieben:Hallo (soviel Höflichkeit muss sein),
im Normalfall, Ausnahmen bestätigen die Regel :D , hat der Inhaber einer Domain uneingeschränkten Zugangs zu allen Funktionalitäten. :wink:

In einer allgemeingültigen Beschreibung wie >>> KB:umzug <<< sollten nicht von vorn herein schon Sonderfälle behandelt werden. Das verwirrt mehr als es nutzt. :wink:

Im Zweifelsfall gibt es ja dieses Board. :D

Stimmt dafür ist dieses Board ja da und vielleicht hilft der hier beschriebene Weg ja noch dem einem oder anderen :D
Brennerlein
Mitglied
Beiträge: 36
Registriert: 09.08.2006 18:11

Beitrag von Brennerlein »

Na zum Glück hab ich erst getestet.

Alles funktioniert nur in den Situationen wo eine Mail versandt wird (Registrierung, bei neuen Beitrag benachrichtigen) kommt eine ca. 20 zeilige Fehlermeldung über dem Board.

Es geht danach trotzdem alles und auch die Mails werden versandt. Auf dem alten Board gibt es diese Meldungen nicht, achja, smtp Versand ist nicht aktiviert.

Hmmm, was muß da noch angepasst werden?


edit:
Das Problem trifft nur auf neue User zu. Die Aktivierungsmail kommt zwar noch an, aber alle weiteren nicht (wenn jemand neuen Beitrag geschrieben hat). Bei den bereits bestehenden Usern geht alles.

Hier mal die Fehlermeldung:
_fix'] = 1; $result = @mail($to, $this->subject, preg_replace("#(?msg), $this->extra_headers); } } // Did it work? if (!$result) { message_die(GENERAL_ERROR, 'Failed sending email :: ' . (($this->use_smtp) ? 'SMTP' : 'PHP') . ' :: ' . $result, '', __LINE__, __FILE__); } return true; } // Encodes the given string for proper display for this encoding ... nabbed // from php.net and modified. There is an alternative encoding method which // may produce lesd output but it's questionable as to its worth in this // scenario IMO function encode($str) { if ($this->encoding == '') { return $str; } // define start delimimter, end delimiter and spacer $end = "?="; $start = "=?$this->encoding?B?"; $spacer = "$end\r\n $start"; // determine length of encoded text within chunks and ensure length is even $length = 75 - strlen($start) - strlen($end); $length = floor($length / 2) * 2; // encode the string and split it into chunks with spacers after each chunk $str = chunk_split(base64_encode($str), $length, $spacer); // remove trailing spacer and add start and end delimiters $str = preg_replace('#' . preg_quote($spacer, '#') . '$#', '', $str); return $start . $str . $end; } // // Attach files via MIME. // function attachFile($filename, $mimetype = "application/octet-stream", $szFromAddress, $szFilenameToDisplay) { global $lang; $mime_boundary = "--==================_846811060==_"; $this->msg = '--' . $mime_boundary . "\nContent-Type: text/plain;\n\tcharset=\"" . $lang['ENCODING'] . "\"\n\n" . $this->msg; if ($mime_filename) { $filename = $mime_filename; $encoded = $this->encode_file($filename); } $fd = fopen($filename, "r"); $contents = fread($fd, filesize($filename)); $this->mimeOut = "--" . $mime_boundary . "\n"; $this->mimeOut .= "Content-Type: " . $mimetype . ";\n\tname=\"$szFilenameToDisplay\"\n"; $this->mimeOut .= "Content-Transfer-Encoding: quoted-printable\n"; $this->mimeOut .= "Content-Disposition: attachment;\n\tfilename=\"$szFilenameToDisplay\"\n\n"; if ( $mimetype == "message/rfc822" ) { $this->mimeOut .= "From: ".$szFromAddress."\n"; $this->mimeOut .= "To: ".$this->emailAddress."\n"; $this->mimeOut .= "Date: ".date("D, d M Y H:i:s") . " UT\n"; $this->mimeOut .= "Reply-To:".$szFromAddress."\n"; $this->mimeOut .= "Subject: ".$this->mailSubject."\n"; $this->mimeOut .= "X-Mailer: PHP/".phpversion()."\n"; $this->mimeOut .= "MIME-Version: 1.0\n"; } $this->mimeOut .= $contents."\n"; $this->mimeOut .= "--" . $mime_boundary . "--" . "\n"; return $out; // added -- to notify email client attachment is done } function getMimeHeaders($filename, $mime_filename="") { $mime_boundary = "--==================_846811060==_"; if ($mime_filename) { $filename = $mime_filename; } $out = "MIME-Version: 1.0\n"; $out .= "Content-Type: multipart/mixed;\n\tboundary=\"$mime_boundary\"\n\n"; $out .= "This message is in MIME format. Since your mail reader does not understand\n"; $out .= "this format, some or all of this message may not be legible."; return $out; } // // Split string by RFC 2045 semantics (76 chars per line, end with \r\n). // function myChunkSplit($str) { $stmp = $str; $len = strlen($stmp); $out = ""; while ($len > 0) { if ($len >= 76) { $out .= substr($stmp, 0, 76) . "\r\n"; $stmp = substr($stmp, 76); $len = $len - 76; } else { $out .= $stmp . "\r\n"; $stmp = ""; $len = 0; } } return $out; } // // Split the specified file up into a string and return it // function encode_file($sourcefile) { if (is_readable(phpbb_realpath($sourcefile))) { $fd = fopen($sourcefile, "r"); $contents = fread($fd, filesize($sourcefile)); $encoded = $this->myChunkSplit(base64_encode($contents)); fclose($fd); } return $encoded; } } // class emailer ?>
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17473
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Beitrag von Dr.Death »

Hi,

das ist keine "Fehlermeldung", sondern sieht nach einer korrupten Datei aus.

Lade Deine Dateien mal per FTP erneut hoch. Ist mir auch schon einmal passiert.
Brennerlein
Mitglied
Beiträge: 36
Registriert: 09.08.2006 18:11

Beitrag von Brennerlein »

Jo,

hab grad alles von A nochmal runtergeladen und auf C rauf.

Keine Fehler mehr.


DANKE!
Gesperrt

Zurück zu „phpBB 2.0: Installation und Update“