PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Suite Indexe erstellen



reifegerste
14.01.2010, 08:00
Laut den Hinweisen wird ja empfohlen, dass man nach der Installation die Indexe neu erstellt jedoch erhalte ich da folgende Meldung wenn ich auf der Shell das ausführe:

/vbulletin/install# php upgrade_400a1_indexes.php

Fehlermeldung:


<br /><strong>Warnung</strong>: parse_url(http:///upgrade_400a1_indexes.php): Unable to parse URL in <strong>/var/www/web1/html/vbulletin/includes/class_core.php</strong> (Zeile <strong>2017</strong>)<br /><br /><strong>Warnung</strong>: parse_url(://:0/): Unable to parse URL in <strong>/var/www/web1/html/vbulletin/includes/class_core.php</strong> (Zeile <strong>2602</strong>)<br /><br /><strong>Warnung</strong>: parse_url(://:0/): Unable to parse URL in <strong>/var/www/web1/html/vbulletin/includes/class_core.php</strong> (Zeile <strong>2602</strong>)<br />
<html xmlns="http://www.w3.org/1999/xhtml" dir="" lang="" id="vbulletin_html">
<head>


Gibt es da irgendwo ein näheres Problem oder wird das garnicht mehr benötigt. Habe jetzt die Index Starts über die Wartungsfunktion eingeleitet. Müsste ja der selbe Prozess sein, oder?

nocte
23.03.2010, 16:34
Ich habe den gleichen Fehler!

Mystics
24.03.2010, 20:33
Suche in der Datei /includes/class_core.php:
$url_info = parse_url(VB_URL);Ersetze es mit:
if (isset($_SERVER['REQUEST_METHOD']))
{
$url_info = parse_url(VB_URL);
}Suche weiter:
$basepath = parse_url($this->fetch_basepath(), PHP_URL_PATH);Ersetze es mit:
if (isset($_SERVER['REQUEST_METHOD']))
{
$basepath = parse_url($this->fetch_basepath(), PHP_URL_PATH);
}
Dann sollte die upgrade_400a1_indexes.php funktionieren:
http://www.vbulletin.com/forum/project.php?issueid=36483

nocte
24.03.2010, 21:16
Vielen Dank!

Aber nun habe ich das nächste Problem:


Erstelle Indexe in der Tabelle <i>post</i>...
Einer oder mehrere der Indexe wurden bereits erstellt.
Wenn dieses Query bereits erfolgreich ausgef&uuml;hrt wurde, kann dieser Fehler ohne Bedenken ignoriert werden.
Wenn Sie sich nicht sicher sind, &uuml;berpr&uuml;fen Sie die Indexe in der MySQL-Datenbank.

ALTER TABLE forum_post
ADD INDEX threadid_visible_dateline (threadid, visible, dateline, userid, postid),
ADD INDEX ipaddress (ipaddress),
ADD INDEX dateline (dateline)

Duplicate key name 'dateline'


Erstelle Indexe in der <i>thread</i>...
Indexe in der Tabelle thread wurden erfolgreich erstellt.

Mystics
24.03.2010, 21:46
Gibt es alle Indexe bereits oder nur "dateline"? Das kann man mit phpMyAdmin überprüfen. Wenn nur dateline vorhanden ist, dann dateline löschen und das Skript erneut ausführen.

Oder diesen Teil [ , ADD INDEX dateline (dateline) ] aus dem Skript entfernen und dann erneut ausführen, geht vermutlich schneller.

nocte
24.03.2010, 22:10
in phpMyAdmin sieht die posts Tabelle so aus:


Name Typ Kardinalität Aktion Feld
PRIMARY PRIMARY 2305974 Bearbeiten Löschen postid
userid INDEX 45215 Bearbeiten Löschen userid
threadid INDEX 768658 Bearbeiten Löschen threadid
userid
importpost_index INDEX 1 Bearbeiten Löschen importpostid
dateline INDEX 2305974 Bearbeiten Löschen dateline

Mystics
24.03.2010, 23:38
Ja, dann einfach den genannten Teil aus dem Skript entfernen und erneut aufrufen.