Hilfe zu Woltlab Importer (vBulletin 4.2.5) und Netcup in der Shell (cli)

  • Hallo,

    nach mehreren Stunden Probieren verzweifle ich am Import vom Woltlab (6.2.5) in der Shell bei Netcup. Ich muss per CLI importieren, weil der Import über das Webinterface ständig in ein Timeout läuft (Import vBulletin 4.2.5, ca. 17.000 Nutzer, ca. 51.500 Threads, ca. 550.000 Postings). Paket ist Webhosting 4000.

    In der Shell (cli.php, import) scheitere ich permanent an der Angabe am Pfad der alten Installation. Egal, was ich angebe, der Importer sagt mir "Es wurde keine Installation unter dem angegebenen Pfad gefunden.".

    Die alte vB 4.2.5-Installation liegt unter /var/www/vhosts/hosting243780.af933.netcup.net/5-xm.de/httpdocs/tmp. Im WCP bei Netcup ist PHP 8.3 eingestellt und "open_basedir" ist auf "{DOCROOT}{/}{:}{TMP}{/}{:}{/}var{/}lib{/}php{/}sessions{:}{WEBSPACEROOT}{/}tmp (Standard)" eingestellt. Aber egal, wo ich das alte Forum hinkopiere und welchen Pfad ich angebe (auch z.B. /5-xm.de/httpdocs/tmp oder /5-xm.de/tmp oder egal was, der Importer sagt immer "Keine Installation".:(

    Gibts hier jemanden, der vielleicht mal ein ähnliches Problem hatte und mir ggf. weiterhelfen kann?

  • realpath 5-xm.de/httpdocs/tmp

    Wenn der Pfad stimmt, ist denn config.php vorhanden?

    php -r 'var_dump(PHP_VERSION, realpath("/5-xm.de/httpdocs/tmp"), is_dir("/5-xm.de/httpdocs/tmp"), is_readable("/5-xm.de/httpdocs/tmp/includes/config.php"));'

    The universe tends toward maximum irony. Don't push it.

    Einmal editiert, zuletzt von webdesignheld (15. Juli 2026 um 06:40)

  • realpath 5-xm.de/httpdocs/tmp

    Wenn der Pfad stimmt, ist denn config.php vorhanden?

    php -r 'var_dump(PHP_VERSION, realpath("/5-xm.de/httpdocs/tmp"), is_dir("/5-xm.de/httpdocs/tmp"), is_readable("/5-xm.de/httpdocs/tmp/includes/config.php"));'

    Schau ich mir nachher mal an und berichte.

  • Gibts hier jemanden, der vielleicht mal ein ähnliches Problem hatte und mir ggf. weiterhelfen kann?

    Ich habe viele Importe unter vBulletin und Xenforo in der Vergangenheit hinter mich gebracht, aber um Woltlab habe ich, genau wie bei Invision auch, immer einen riesen Bogen gemacht. Egal. In der Theorie sollte das so ablaufen:

    1.) Woltlab installieren!
    2.) Unterordner im existierenden Woltlab root anlegen mit dem alten Forum, z. B. vb und das alte vBulletin Forum dort reinkopieren
    3.) vB Datenbank in neue Datenbank importieren
    4.) Der Pfad ist nun der gleiche wie bei deinem Woltlab, ergaenzt um /vb/ und ggf. der Unterordner wie Attachments usw.

    There are only 10 types of people in the world: those who understand binary, and those who don't.

    2 Mal editiert, zuletzt von ckd (15. Juli 2026 um 16:26)

  • Ich habe viele Importe unter vBulletin und Xenforo in der Vergangenheit hinter mich gebracht, aber um Woltlab habe ich, genau wie bei Invision auch, immer einen riesen Bogen gemacht. Egal. In der Theorie sollte das so ablaufen:

    1.) Woltlab installieren!
    2.) Unterordner im existierenden Woltlab root anlegen mit dem alten Forum, z. B. vb und das alte vBulletin Forum dort reinkopieren
    3.) vB Datenbank in neue Datenbank importieren
    4.) Der Pfad ist nun der gleiche wie bei deinem Woltlab, ergaenzt um /vb/ und ggf. der Unterordner wie Attachments usw.

    Hab ich genauso auch gemacht. Installiere und importiere in Woltlab auch nicht zu ersten Mal. Mich wundert nur, dass die Woltlab-eigene Shellversion des Importers den Pfad nicht nimmt. Im Webinterface nimmt Woltlab den gleichen Pfad problemlos.

  • Versuch es mal mit relativen Pfaden anstatt dem absoluten Pfad. Anstatt /var/www/was/auch/immer/htdocs direkt den Pfad aus Sicht des Woltlab. Weitere Fallstricke sind Hochkommas anstelle von Anfuehrungszeichen, d. h. "/var/www" VS 'var/www'. Andere bekannte Fehler ist der fehlende Slash am Ende des Pfades oder fehlerhafte Dateirechte im Quellforum, dem vBulletin. Einmal mit Folder 755 und File 644 rekursiv drueber laufen lassen.

    There are only 10 types of people in the world: those who understand binary, and those who don't.

    Einmal editiert, zuletzt von ckd (15. Juli 2026 um 16:33)

  • realpath 5-xm.de/httpdocs/tmp

    Wenn der Pfad stimmt, ist denn config.php vorhanden?

    php -r 'var_dump(PHP_VERSION, realpath("/5-xm.de/httpdocs/tmp"), is_dir("/5-xm.de/httpdocs/tmp"), is_readable("/5-xm.de/httpdocs/tmp/includes/config.php"));'

    Code
    string(5) "8.5.7"
    bool(false)
    bool(false)
    bool(false)
  • Versuch es mal mit relativen Pfaden anstatt dem absoluten Pfad. Anstatt /var/www/was/auch/immer/htdocs direkt den Pfad aus Sicht des Woltlab. Weitere Fallstricke sind Hochkommas anstelle von Anfuehrungszeichen, d. h. "/var/www" VS 'var/www'. Andere bekannte Fehler ist der fehlende Slash am Ende des Pfades oder fehlerhafte Dateirechte im Quellforum, dem vBulletin. Einmal mit Folder 755 und File 644 rekursiv drueber laufen lassen.

    Habe sowohl relative als auch absolute Pfade ausprobiert, mit und ohne Slash am Ende. Anführungszeichen brauche ich nicht.
    Im Quellforum sind alle Ordner 755 und alle Dateien 644.

    Was mich wundert, sind die Fehlermeldungen, wenn ich die Woltlab-eigene cli.php aufrufe, innerhalb der dann der Import stattfindet. Ich kanns grad nicht beschwören, bin mir aber sicher, dass die beim anderen Import auf einem anderen Server nicht da waren.

    Der php-Befehl weiter oben vom Webdesignheld zeigt ja scheinbar, dass da was nicht stimmt.


    bash-5.2$ php cli.php
    sh: line 1: stty: command not found
    [ERROR] Failed to construct terminal; falling back to unsupported
    wcf\system\exception\ErrorException: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /5-xm.de/httpdocs/forum/lib/system/WCF.class.php:379
    Stack trace:
    #0 [internal function]: wcf\system\WCF::handleError(8192, 'strlen(): Passing null to...', 'phar:///5-xm.de/httpdocs/...', 38)
    #1 phar:///5-xm.de/httpdocs/forum/lib/system/api/phpline/phpline.phar/internal/TerminalLineSettings.php(38): strlen(NULL)
    #2 phar:///5-xm.de/httpdocs/forum/lib/system/api/phpline/phpline.phar/UnixTerminal.php(33): phpline\internal\TerminalLineSettings->__construct()
    #3 phar:///5-xm.de/httpdocs/forum/lib/system/api/phpline/phpline.phar/TerminalFactory.php(47): phpline\UnixTerminal->__construct()
    #4 phar:///5-xm.de/httpdocs/forum/lib/system/api/phpline/phpline.phar/TerminalFactory.php(98): phpline\TerminalFactory::create()
    #5 /5-xm.de/httpdocs/forum/lib/system/CLIWCF.class.php(167): phpline\TerminalFactory::get()
    #6 /5-xm.de/httpdocs/forum/lib/system/CLIWCF.class.php(84): wcf\system\CLIWCF->initPHPLine()
    #7 /5-xm.de/httpdocs/forum/cli.php(30): wcf\system\CLIWCF->__construct()
    #8 {main}
    [WARN] Unable to read user configuration: /etc/inputrc
    RuntimeException: Unable to locate InputRC in phar:///5-xm.de/httpdocs/forum/lib/system/api/phpline/phpline.phar/console/ConsoleKeys.php:63
    Stack trace:
    #0 phar:///5-xm.de/httpdocs/forum/lib/system/api/phpline/phpline.phar/console/ConsoleKeys.php(28): phpline\console\ConsoleKeys->loadKeys('WoltLab Suite', '/etc/inputrc')
    #1 phar:///5-xm.de/httpdocs/forum/lib/system/api/phpline/phpline.phar/console/ConsoleReader.php(189): phpline\console\ConsoleKeys->__construct('WoltLab Suite', '/etc/inputrc')
    #2 /5-xm.de/httpdocs/forum/lib/system/CLIWCF.class.php(168): phpline\console\ConsoleReader->__construct('WoltLab Suite', NULL, NULL, Object(phpline\UnsupportedTerminal))
    #3 /5-xm.de/httpdocs/forum/lib/system/CLIWCF.class.php(84): wcf\system\CLIWCF->initPHPLine()
    #4 /5-xm.de/httpdocs/forum/cli.php(30): wcf\system\CLIWCF->__construct()
    #5 {main}
    WoltLab Suite (tm) 6.2.5
    Benutzername> ^C

    Einmal editiert, zuletzt von 5-xm (15. Juli 2026 um 16:51)

  • Code
    bash-5.2$ php cli.php
    sh: line 1: stty: command not found

    Da fehlt dem Linuxsystem wohl ein Paket. Steht der php-cli bei Netcup ueberhaupt zur Verfuegung? Support mal fragen...
    Probier mal anstatt php cli.php die PHP Version mitzugeben, also php8.3 cli.php.

    Hilfe zu Woltlab Importer (vBulletin 4.2.5) und Netcup in der Shell (cli) - WoltLab®
    Hallo, nach mehreren Stunden Probieren verzweifle ich am Import vom Woltlab (6.2.5) in der Shell bei Netcup. Ich muss per CLI importieren, weil der Import…
    www.woltlab.com

    Die Kollegen bei Woltlab wissen wohl auch nicht weiter...

    Mal eine andere Frage, warum machst du den Import nicht lokal in einer Entwicklungsumgebung und gehst bei Netcup danach in den Produktivbetrieb?

    There are only 10 types of people in the world: those who understand binary, and those who don't.

    Einmal editiert, zuletzt von ckd (15. Juli 2026 um 17:09)

  • Der PHP-Befehl von webdesignheld zeigt jedenfalls eindeutig, dass Dein Pfad falsch ist. Also nochmals zurück auf Anfang: Wo genau liegt der Ordner? Suche den Ordner mal manuell über SSH, bis Du ihn findest: ls -la /

    (Und so lange den Pfad am Ende erweitern, bis alles stimmt.)

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Also, ich habe inzwischen das alte Forum wieder nach /5-xm.de/httpdocs/tmp verschoben.

    Der erste php-Befehl vom webdesignheld ergibt jetzt:
    string(5) "8.5.7"
    string(21) "/5-xm.de/httpdocs/tmp"
    bool(true)
    bool(true)

    Der zweite Befehl ergibt:
    string(6) "8.3.31"
    string(21) "/5-xm.de/httpdocs/tmp"
    bool(true)
    bool(true)

    Das sieht also gut aus. Trotzdem nimmt der Importer, der aus der cli.php heraus gestartet wird, keinen Pfad, weder die obige Version mit oder ohne Slash am Ende noch beide Varianten des vollen Pfades (/var/www/vhosts/hosting243780.af933.netcup.net/5-xm.de/httpdocs/tmp).

    Eine lokale Umgebung habe ich nicht, die müßte ich mir auch erst installieren. Wäre drüber nachzudenken, wenn nix anderes hilft.

  • Code
    bash-5.2$ php cli.php
    sh: line 1: stty: command not found

    Da fehlt dem Linuxsystem wohl ein Paket. Steht der php-cli bei Netcup ueberhaupt zur Verfuegung? Support mal fragen...
    Probier mal anstatt php cli.php die PHP Version mitzugeben, also php8.3 cli.php.

    Die cli.php ist eine Datei von Woltlab, die es aufzurufen gilt beim Import über die Shell. Version mit geben geht nicht. Ich kann aber über /usr/local/php83/bin/php cli.php die Datei aufrufen mit der jeweiligen php-Version (php83, php81, php74). Bei 74 sagt er mir, dass das nicht unterstützt sei und php >= 8.1 zu verwenden sei.