Probleme beim Update von 6.3.2.0

Fragen und Infos zur Installation & Update von webEdition.
Lars
Junior Member
Beiträge: 2
Registriert: Do 27. Feb 2020, 17:07

Probleme beim Update von 6.3.2.0

Beitragvon Lars » Do 27. Feb 2020, 17:56

Hallo.

Ich habe massive Probleme Version 6.3.2 zu aktualisieren.

Wenn ich nach Updates suche, dann werden mir vier unterschiedliche Versionen angeboten:
7.0.4, 6.4.5, 6.4.0 und 6.3.9

Leider habe ich bei allen Probleme. Einiges habe ich versucht aus der Welt zu schaffen, aber an einem Punkt komme ich nicht weiter. Da ich gelesen habe, dass man am besten die Updates in der Reihenfolge machen soll, wie sie einem vorgeschlagen werden, beschriebe ich hier das Problem beim Update auf 6.3.9 genauer:

Nachdem ich ein paar manuelle Reparaturen vorgenommen habe (beschreibe ich der Vollständigkeit halber weiter hinten im Text), bekomme ich nach dem Einloggen nur eine weiße Seite. in tblErrorLog findet sich der folgende Fehler:

Code: Alles auswählen

(
    [type] => 4096
    [message] => Argument 1 passed to we_customer_abstractFilter::getQueryFromFilter() must be of the type array, boolean given, called in SECURITY_REPL_DOC_ROOT/webEdition/we/include/we_modules/users/we_users_user.class.php on line 2507 and defined
    [file] => SECURITY_REPL_DOC_ROOT/webEdition/we/include/we_modules/customer/we_customer_abstractFilter.class.php
    [line] => 227
)
Die Funktion setEffectiveWorkspaces() in we_users_user.class.php ruft getQueryFromFilter() mit einem unserialize($cur) auf, wobei $cur aus einer Session-Variable kommt und die ist merkwürdig gefüllt:

Code: Alles auswählen

[gbtblWebUser] => Array(
    [0] => '
)
Wo wie kommt das Apostroph da hin? Das ist über alle Versionen, auf die ich ein Update durchgeführt habe konstant dort. In neuen Versionen wird der Fehler schon in we_users_user.class.php geschmissen, aber $_SESSION['user']['workSpace']['gbtblWebUser'] ist immer gleich gefüllt. Ich habe den Browser-Cookie gelöscht, den Session-Store auf dem Server gelöscht und einen anderen Browser ausprobiert. Hat alles keinen Unterschied gemacht.

Wie kann ich die alte Version updaten? Ich habe bestimmt schon 20 Update-Versuche gestartet und bin inzwischen ratlos. Gibt es einen Weg ein neueres Tar-Archiv drüber zu entpacken und die Datenbank-Strukturen dann per Hand anzupassen?

Bin für jede Hilfe dankbar,
Lars

Hier die Probleme, auf die ich gestoßen bin und wie ich sie umschifft habe, um überhaupt zum Einlog-Bildschirm zu gelangen:

1. Sobald das Popup "Update abgeschlossen" kommt, wird die Datei webEdition/we/include/we_version.php mit Binärmüll gefüllt. (Vorher ist diese noch in Ordnung und enthält die Konstanten für die neue Version.) Das Problem hat auch hier im Forum schon mal jemand beschrieben: viewtopic.php?f=86&t=41690

Hier habe ich einfach die Datei wieder hergestellt, wie sie kurz vor dem Popup war:

Code: Alles auswählen

<?php
define("WE_VERSION","6.3.9.0");
define("WE_VERSION_SUPP","release");
define("WE_ZFVERSION","1.12.3"); // recommended version of the Zend Framework (bundled with webEdition)
define("WE_SVNREV","8466");
define("WE_VERSION_SUPP_VERSION","0");
define("WE_VERSION_BRANCH","trunk");
define("WE_VERSION_NAME","6.3.9")
2. Manche Datenbank-Schema Aktualisierungen sind fehlgeschlagen. in tblErrorLog finden sich mehrere Fehler:

Code: Alles auswählen

    [0] => 1067 Invalid default value for 'LastLogin'
-- ALTER TABLE `gbtblWebUserAutoLogin` CHANGE `LastLogin` `LastLogin` timestamp  NOT NULL DEFAULT 'current_timestamp()' ON UPDATE CURRENT_TIMESTAMP() --
    [1] => 1071 Specified key was too long; max key length is 1000 bytes
-- CREATE TEMPORARY TABLE IF NOT EXISTS _tblWebAdmin(
  Name varchar(255) NOT NULL default '',
  `Value` text NOT NULL,
  PRIMARY KEY (Name)
)ENGINE = MYISAM; --
    [2] => 1146 Table 'DB4057906._tblWebAdmin' doesn't exist
-- INSERT IGNORE INTO _tblWebAdmin SELECT DISTINCT * FROM gbtblWebAdmin GROUP BY Name; --
    [3] => 1146 Table 'DB4057906._tblWebAdmin' doesn't exist
-- INSERT INTO gbtblWebAdmin SELECT * FROM _tblWebAdmin; --
    [4] => 1067 Invalid default value for 'unixTime'
-- ALTER TABLE `gbtblformmaillog` CHANGE `unixTime` `unixTime` timestamp  NOT NULL DEFAULT 'current_timestamp()'  --
    [5] => 1067 Invalid default value for 'LastAccess'
-- ALTER TABLE `gbtblWebUserSessions` CHANGE `LastAccess` `LastAccess` timestamp  NOT NULL DEFAULT 'current_timestamp()' ON UPDATE CURRENT_TIMESTAMP() --
    [6] => 1067 Invalid default value for 'datum'
-- ALTER TABLE `gbtblUpdateLog` CHANGE `datum` `datum` timestamp  NOT NULL DEFAULT 'current_timestamp()'  --
    [7] => 1071 Specified key was too long; max key length is 1000 bytes
-- /*FIXME: mv banner, shop, newsletter, glossary to this table*/

CREATE TABLE gbtblSettings (
	tool ENUM('banner','glossary','newsletter','shop') NOT NULL,
  pref_name VARCHAR(255) NOT NULL,
  pref_value VARCHAR(255) NOT NULL default '',
  PRIMARY KEY  (tool,pref_name)
) ENGINE=MyISAM; --
)
Das habe ich behoben, indem ich DEFAULT 'current_timestamp()' durch DEFAULT CURRENT_TIMESTAMP ersetzt und die VARCHAR(255) durch VARCHAR(249) bei den geindexten Spalten und die Queries per Hand noch mal ausgeführt habe.

Zurück zu „webEdition Installation & Update“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast