Call to undefined method bin\WbAdaptor::getRequester()

Luisehahne

Hallo,

erstmal vielen an LudwigSt fürs testen der neuen unzip.php Version 2.12. Kleiner Fix für Strato hosting

Download unzip.php.zip vom Sep 2021

Ausführung wie bereits beschrieben

Benennen Sie die unzip.php.zip in unzip.php um (unzip.php.zip ist nicht wirklich eine Archivdatei). Anschliessend laden Sie die unzip.php und WB fix zip oder WB full package zip in den Root (Anwendungspfad) Ihrer WB-Installation hoch. Führen Sie unzip.php in Ihrem Browser (https://yourdomain.com/unzip.php) aus. Die unzip.php und die WB zip löschen sich nach erfolgreicher Ausführung der unzip.php selbst.
Melden Sie sich in Ihrem Backend als Super-Admin (Administrator mit ID 1) an und führen Sie das Upgrade-Skript über den Upgrade-Link oder über das wb-info-Panel aus. 

Dietmar
Note: Once the code has been generated, it is easy to debug. It's not a bug, it's a feature!

LudwigSt

Ich war jetzt mal mutig, und habe Zeile 110 und 111 auskommentiert. An $sAppRel habe ich noch einen Slash dran gehängt, sodass aus /verzeichnis /verzeichnis/ wurde. Und nun ist das Entpacken mit der unzip.php gelungen. Soweit ich bisher feststellen konnte, läuft jetzt alles. Aber was der @Dietmar dazu sagt, würde mich trotzdem noch interessieren.
LG Ludwig

Wissen ist Macht - aber nix wissen macht auch nix.

LudwigSt

Der Code in der unzip.php ab Zeile 100 scheint mir für den Wechsel von /verzeichnis/ ins Root verantwortlich zu sein:


// create absolute/relative paths
    $sAddonName     = \basename(__DIR__);
    $sScriptPath    = dirname($_SERVER["SCRIPT_FILENAME"]);
    $sAppDir        = str_replace(['\\\\','//'], '/',__DIR__);
    $sDocRoot       = str_replace(['\\','//'],'/',realpath($_SERVER["DOCUMENT_ROOT"]));
    $sScriptName    = str_replace(['\\','//'],'/',realpath($_SERVER["SCRIPT_FILENAME"]));
    $iSharedHosting = ($isWindows ? 0 : (strcmp(md5($sScriptPath),md5($sAppDir)))); // ist leer
    $sPathPattern   = "/^(.*?\/)admin\/.*$/";
    $sLink      = \str_replace(['\\','//'],'/',__DIR__).'/admin/';
    $sAppRel    = \str_replace($sDocRoot,'',\dirname($sScriptName));  // ist /verzeichnis (Zeile 109)
    $sAppRel    = (($iSharedHosting != 0) ? '' : $sAppRel); // ist leer
    $sAppRel    = rtrim((empty($sAppRel) ? '/' : $sAppRel),'/').'/'; // ist leer
    $sAcpRel    = $sAppRel.'admin/'; // ist /admin/
    $sAppPath   = \preg_replace ($sPathPattern, "$1", $sLink, 1 );
    $sOldPath   = \str_replace('\\','/',\getcwd()).'/';


Ich habe im Code oben per Kommentar den Variableninhalt eingefügt. In Zeile 109 ist $sAppRel noch /verzeichnis und ab Zeile 110 ist die Variable leer. $iSharedHosting ist übrigens bei mir auch leer.

Was sagt jetzt der Chef dazu? @Dietmar
LG Ludwig

Wissen ist Macht - aber nix wissen macht auch nix.

LudwigSt

Wenn es denn ein ,,nach dem Entpacken" gäbe.
Soweit komme ich ja nicht, weil die unzip.php vom Unterverzeichnis ins Root springt.
LG Ludwig

Wissen ist Macht - aber nix wissen macht auch nix.

hgs

Quote from: LudwigSt on September 25, 2021, 12:46:43 PM
Auf dem Bildschirm steht ganz unten rechts diese Fehlermeldung: Error::Missing Backend Login /admin/
Diese Meldung verschwindet nach dem Entpacken und du kommst mit dem Button der dann erscheint zum Installer von WB
LG Harald

"Fange nie an, aufzuhören - höre nie auf, anzufangen." Marcus Tullius Cicero (106-43 v.Chr.)

LudwigSt

Quote from: hgs on September 25, 2021, 12:43:35 PM
Da ich aber durch unendliche Subdomämen noch nie in einem Unterverzeichnis gearbeitet habe, kann ich es nicht mit Sicherheit sagen.

Mit Subdomänen kann ich leider nicht arbeiten. Wenn ich eine anlege, dann läuft die nur mit http://, da ich aber in der .htaccess vom Root alles von http:// auf https:// umleite, kann ich damit nicht arbeiten, da streiken die Browser.
LG Ludwig

Wissen ist Macht - aber nix wissen macht auch nix.

LudwigSt

Ich habe jetzt noch ein weiteres neues Testverzeichnis angelegt. Die WB.zip und die unzip.php dorthin kopiert und dann aufgerufen.
Auf dem Bildschirm steht ganz unten rechts diese Fehlermeldung: Error::Missing Backend Login /admin/

Da es ja noch kein Backend gibt, verstehe ich die Meldung nicht?
LG Ludwig

Wissen ist Macht - aber nix wissen macht auch nix.

hgs

Dann sollte es mit

www.example.com/test/unzip.php
funktionieren. Der Meinung bin ich auch.
Da ich aber durch unendliche Subdomämen noch nie in einem Unterverzeichnis gearbeitet habe, kann ich es nicht mit Sicherheit sagen.

@Dietmar
Was sagt der Chef?
LG Harald

"Fange nie an, aufzuhören - höre nie auf, anzufangen." Marcus Tullius Cicero (106-43 v.Chr.)

LudwigSt

Bevor alles durcheinander gerät, wovn @dbs spricht, ist die aktuelle Installation, die hat die 301-Weiterleitung,
dass Problem, um das es eigentlich geht, liegt bei der Testversion vor. Die ist in einem Unterverzeichnis und ist auch nicht weitergeleitet.
Dann ist es doch korrekt, daß in der config das Unterverzeichnis angegeben ist, oder nicht?

Also config, unzip etc sind alle in diesem Unterverzeichnis.
LG Ludwig

Wissen ist Macht - aber nix wissen macht auch nix.

hgs

Quote from: LudwigSt on September 25, 2021, 10:15:39 AM
Bei mir klappt das unzip bei dem Provider aber immer noch nicht. Die Installation liegt nicht im root und wenn man die www.example.com/verzeichnis/unzip.php aus dem Unterverzeichnis aufruft, erscheint oben in der Browserzeile www.example.com/unzip.php und es gibt einen 404.

Ich hab noch mal unten angefangen zu lesen.
Die altuelle unzip.php macht ja nichts ohne dein "go" Was passiert wenn du es ohne "/unterverzeichnis" aufrufst? Deine Weiterleitung sollte es dann doch richtig machen, oder bin ich auf dem Holzweg.
Nachtrag
Ok, der ParallelPost sagt ja, dass es mit phpMailer funtioniert hat. Sehr komisch
LG Harald

"Fange nie an, aufzuhören - höre nie auf, anzufangen." Marcus Tullius Cicero (106-43 v.Chr.)

LudwigSt

Ja, scheint so, daß wir uns nicht verstehen, oder mißverstehen.

Als ich die aktuelle Version von dem php-mailer mit der unzip.php im Unterverzeichnis entpackt habe, hat das problemlos funktioniert. Warum geht es mit dem php-mailer, und nicht mit der WB Installation. Warum springt die unzip ins Root, anstatt im Unterverzeichnis zu bleiben, wenn ich die WB Installation entpacken will?
LG Ludwig

Wissen ist Macht - aber nix wissen macht auch nix.

dbs

Ich beziehe mich auf
Quoteexample.com wird weitergeleitet auf example.com/verzeichnis/

das bedeutet normalerweise, dass dieses Unterverzeichnis dann der WB-Root ist (und würde deshalb nicht in der config stehen).
Aber wir reden scheinbar aneinander vorbei. Irgendjemand wird dich schon verstehen.
[url="https://onkel-franky.de"]https://onkel-franky.de[/url]

LudwigSt

Das läuft schon seit Jahrzehnten so einwandfrei (mit dem Unterordner in der config).

Die aktuelle Installation ist z. B. auf example.com/aktuell/ mit einem 301 redirect vom root auf /aktuell/.
Die Testinstallation ist auf example.com/test/. Dorthin muss man dann manuell navigieren z. B. zu example.com/test/admin/, um sich dort in WB einzuloggen.

Die verschiedenen Domains bei diesem Provider sind ja alle auf irgendeinen Ordner im Root intern (also Hoster-seitig) weitergeleitet. Domain1 leitet auf example.com/domain1/ und Domain2 leitet auf example.com/domain2/. Domain3 ist aber nicht Hoster-seitig umgeleitet, sondern per .htaccess mit einer 301-Weiterleitung auf domain3/verzeichnisMitWB/

Ist etwas unelegant gelöst, ist aber nunmal so.

Ich vermute, wenn ich das Unterverzeichnis aus der config rausnehme, entpackt die unzip.php mir alles in das Root-Verzeichnis. Das wäre dort dann falsch, da alles in das entsprechende Unterverzeichnis muss.
LG Ludwig

Wissen ist Macht - aber nix wissen macht auch nix.

dbs

Du schriebst was von Test. Also unabhängig von der Hauptdomain.
Wenn dein Unterordner aber nun die Hauptdomain ist, dann gehört der Unterordner nicht in die config.
[url="https://onkel-franky.de"]https://onkel-franky.de[/url]

LudwigSt

Natürlich braucht es eine Weiterleitung. Wie sollte der Besucher, der www.exampel.com aufruft, denn sonst zu www.exampel.com/verzeichnis/ gelangen?
LG Ludwig

Wissen ist Macht - aber nix wissen macht auch nix.

dbs

Es ist etwas unklar was genau du machst.
Wenn WB in einem Unterordner installiert ist, also auch der Unterordner in der config steht, dann brauchts keine Weiterleitung.
Adresse ist dann domain.de/unterordner/
[url="https://onkel-franky.de"]https://onkel-franky.de[/url]

LudwigSt

Die config.php ist aber auch in dem Unterverzeichnis.
example.com wird weitergeleitet auf example.com/verzeichnis/
LG Ludwig

Wissen ist Macht - aber nix wissen macht auch nix.

hgs

Quote from: LudwigSt on September 25, 2021, 10:15:39 AM
Bei mir klappt das unzip bei dem Provider aber immer noch nicht. Die Installation liegt nicht im root und wenn man die www.example.com/verzeichnis/unzip.php aus dem Unterverzeichnis aufruft, erscheint oben in der Browserzeile www.example.com/unzip.php und es gibt einen 404.

unzip.php wird nicht in ein Unterordner kopiert und dort aufgerufen. unzip gehört ins Dokumentenroot (da wo die config.php ist)
Der Aufruf ist also
www.example.com/unzip.php
LG Harald

"Fange nie an, aufzuhören - höre nie auf, anzufangen." Marcus Tullius Cicero (106-43 v.Chr.)

LudwigSt

Bei mir klappt das unzip bei dem Provider aber immer noch nicht. Die Installation liegt nicht im root und wenn man die www.example.com/verzeichnis/unzip.php aus dem Unterverzeichnis aufruft, erscheint oben in der Browserzeile www.example.com/unzip.php und es gibt einen 404.
LG Ludwig

Wissen ist Macht - aber nix wissen macht auch nix.

Luisehahne

Quote from: LudwigSt on September 19, 2021, 12:30:57 PM
Ist denn das unzip-Problem bei S t r a t o beseitigt?

Wir konnten bislang keine Probleme mehr feststellen

Dietmar
Note: Once the code has been generated, it is easy to debug. It's not a bug, it's a feature!

LudwigSt

Ist denn das unzip-Problem bei S t r a t o beseitigt?

LG Ludwig

Wissen ist Macht - aber nix wissen macht auch nix.

Luisehahne

Deswegen immer jedes Paket mit unzip.php entpacken, dann sollte nichts fehlen.

QuoteEine Liste mit allen Verzeichnissen und Dateien, die vorhanden sein sollten, gibt es nicht zufällig?
Ich lasse etwas einfallen. Kommt dann ab WB 2.13.1.

Dietmar
Note: Once the code has been generated, it is easy to debug. It's not a bug, it's a feature!

LudwigSt

Ausser dem Verzeichnis phpmailer war in meinem include Verzeichnis überhaupt nichts vorhanden. Kein Wunder also, diese Fehlermeldungen. Nachdem ich jetzt alle Ordner, die fehlten dorthin übertrage habe, scheinen jetzt Front- und Backend zu laufen.

Eine Liste mit allen Verzeichnissen und Dateien, die vorhanden sein sollten, gibt es nicht zufällig?
LG Ludwig

Wissen ist Macht - aber nix wissen macht auch nix.

Luisehahne

Quote from: LudwigSt on September 18, 2021, 02:26:29 PM
Wenn beides im Root liegt, dann klappt das auch. Nachdem das dann ohne Fehler durchgelaufen ist, erhalte ich diesen Fehler beim Aufruf der Login-Seite:
QuoteThere was an uncatched exception
Class 'vendor\phplib\Template' not found
in line (284) of (/framework/Login.php):
In meinem vendor Verzeichnis befindet sich auch nur eine Datei autoload_classmap.php

Das ist korrekt. vendor\phplib ist ein namespace und verweist auf den Ordner include/phplib/ und darin muss sich die Datei Template.php befinden. Wir stellen immer mehr auf OOP um.

Dietmar
Note: Once the code has been generated, it is easy to debug. It's not a bug, it's a feature!

LudwigSt

Wenn beides im Root liegt, dann klappt das auch. Nachdem das dann ohne Fehler durchgelaufen ist, erhalte ich diesen Fehler beim Aufruf der Login-Seite:
QuoteThere was an uncatched exception
Class 'vendor\phplib\Template' not found
in line (284) of (/framework/Login.php):
In meinem vendor Verzeichnis befindet sich auch nur eine Datei autoload_classmap.php
LG Ludwig

Wissen ist Macht - aber nix wissen macht auch nix.